You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
CrowdControl/Assets/Source/Scripts/MemberInitializer.cs

58 lines
1.6 KiB
C#

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<SquadMember> listOfCharacters;
[SerializeField] private List<NeutralMember> listOfNeutralCharacters;
[SerializeField] private SquadMember squadMember;
private SquadComponent squadComponent;
[SerializeField] private NeutralsSpawn neutralsSpawn;
public List<PoolMember> bulletParticleSystems;
private void Awake()
{
}
private void Start()
{
squadComponent = Get<SquadComponent>();
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<SquadMember>();
squadComponent.AddMember(newMember);
}
}