2023-10-12 21:40:32 +09:00
|
|
|
using FirstVillain.Entities;
|
|
|
|
using FirstVillain.Singleton;
|
|
|
|
using System.Collections;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
public class GameManager : UnitySingleton<GameManager>
|
|
|
|
{
|
2023-10-24 19:12:04 +09:00
|
|
|
|
|
|
|
#region Player Data
|
2023-10-16 18:47:52 +09:00
|
|
|
public PlayerInfo MainPlayer
|
|
|
|
{
|
|
|
|
get
|
|
|
|
{
|
|
|
|
return PlayerPrefsManager.LoadMainPlayer();
|
|
|
|
}
|
|
|
|
}
|
2023-10-24 19:12:04 +09:00
|
|
|
|
|
|
|
public int PlayerCount
|
|
|
|
{
|
|
|
|
get
|
|
|
|
{
|
|
|
|
return _playerData.Count;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-10-16 18:47:52 +09:00
|
|
|
private List<PlayerInfo> _playerData = new();
|
2023-10-12 21:40:32 +09:00
|
|
|
|
|
|
|
public void SetPlayerData(List<JPlayerData> dataList)
|
|
|
|
{
|
|
|
|
foreach (var data in dataList)
|
|
|
|
{
|
2023-10-16 18:47:52 +09:00
|
|
|
_playerData.Add(new PlayerInfo(data));
|
2023-10-12 21:40:32 +09:00
|
|
|
}
|
|
|
|
}
|
2023-10-16 18:47:52 +09:00
|
|
|
|
|
|
|
public PlayerInfo GetPlayerData(int id)
|
|
|
|
{
|
|
|
|
return _playerData.Find(arg => arg.Id == id);
|
|
|
|
}
|
2023-10-24 19:12:04 +09:00
|
|
|
|
|
|
|
public PlayerInfo GetPlayerDataByIndex(int idx)
|
|
|
|
{
|
|
|
|
if(idx < 0 || idx >= PlayerCount)
|
|
|
|
{
|
|
|
|
Debug.LogError("Plyer index out of range!!");
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
return _playerData[idx];
|
|
|
|
}
|
2023-10-16 18:47:52 +09:00
|
|
|
|
2023-10-24 19:12:04 +09:00
|
|
|
public int GetPlayerDataIndex(PlayerInfo info)
|
|
|
|
{
|
|
|
|
return _playerData.FindIndex(arg => arg == info);
|
|
|
|
}
|
|
|
|
#endregion Player Data
|
2023-10-12 21:40:32 +09:00
|
|
|
}
|