Ludo-3D/Assets/Scripts/Gameplay/Player/PlayerBaseHandler.cs

44 lines
1.2 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using UnityEngine;
[System.Serializable]
public class PlayerBaseData
{
2026-01-26 19:48:55 +05:30
public PlayerType playerType;
public PlayerBase playerBase;
}
public class PlayerBaseHandler : MonoBehaviour
{
[SerializeField] private PlayerBase[] playerBases;
2026-01-26 19:48:55 +05:30
private Dictionary<PlayerType, PlayerBase> playerBasesDict = new Dictionary<PlayerType, PlayerBase>();
2026-01-26 13:03:50 +05:30
2026-01-26 19:48:55 +05:30
public void InitPlayerTypes(List<PlayerType> playerTypes)
{
foreach (PlayerBase playerBase in playerBases)
{
if (playerTypes.Contains(playerBase.GetPlayerType()))
{
2026-01-26 13:03:50 +05:30
playerBase.InitPlayerData();
playerBase.gameObject.SetActive(true);
2026-01-26 13:03:50 +05:30
if (!playerBasesDict.ContainsKey(playerBase.GetPlayerType()))
playerBasesDict.Add(playerBase.GetPlayerType(), playerBase);
else
playerBasesDict[playerBase.GetPlayerType()] = playerBase;
}
else
{
playerBase.gameObject.SetActive(false);
}
}
}
2026-01-26 19:48:55 +05:30
public PlayerBase GetPlayerBase(PlayerType playerType)
{
2026-01-26 13:03:50 +05:30
return playerBasesDict[playerType];
}
}