using System; using System.Collections.Generic; using D2D; using Sirenix.OdinInspector; using UnityEngine; using static D2D.Utilities.CommonGameplayFacade; public class MemberInitializer : Unit { [SerializeField] private List listOfCharacters; [SerializeField] private List listOfNeutralCharacters; [SerializeField] private SquadMember squadMember; private SquadComponent squadComponent; [SerializeField] private NeutralsSpawn neutralsSpawn; public List bulletParticleSystems; private void Awake() { } private void Start() { squadComponent = Get(); squadMember = GetInitialSquadMember(); neutralsSpawn.neutralMember = GetInitialNeutralMember(); AddMember(); BulletPrefabSetter(); } void BulletPrefabSetter() { _gameData.pistolProjectile.prefab = bulletParticleSystems[GetIDFromPlayerPrefs()]; } private SquadMember GetInitialSquadMember() { int selectedPlayerId = GetIDFromPlayerPrefs(); return listOfCharacters[selectedPlayerId]; } private NeutralMember GetInitialNeutralMember() { int selectedPlayerId = GetIDFromPlayerPrefs(); return listOfNeutralCharacters[selectedPlayerId]; } private int GetIDFromPlayerPrefs() { return PlayerPrefs.GetInt(Constants.PlayerSelectionKey, 0); } [Button] public void AddMember() { var newMember = Instantiate(squadMember.gameObject, Vector3.forward, Quaternion.identity, transform).GetComponent(); squadComponent.AddMember(newMember); } }