public void OnLoad(MinionListSaveData minionList) { Clear(); foreach (MinionSaveData minionData in minionList.Minions) { if (minionData.minionSide == MinionSide.Enemy) { var prefabGameObject = Resources.Load(minionData.minionType) as GameObject; Vector3 castlePos = GameManager.Ctx.enemyCastleObject.transform.position; var pos = new Vector3(minionData.Pos.x, minionData.Pos.y, castlePos.z - 1); Minion prefab = prefabGameObject.GetComponent <Minion>(); Minion minion = Instantiate(prefab, pos, Data.GetEnemyFacing()); minion.Initialize(minionData.minionData, MinionSide.Enemy, minionData.minionType); EnemyMinions.Add(minion); } else { var prefabGameObject = Resources.Load(minionData.minionType) as GameObject; Vector3 castlePos = GameManager.Ctx.playerCastleObject.transform.position; var pos = new Vector3(minionData.Pos.x, minionData.Pos.y, castlePos.z - 1); Minion prefab = prefabGameObject.GetComponent <Minion>(); Minion minion = Instantiate(prefab, pos, Data.GetPlayerFacing()); minion.Initialize(minionData.minionData, MinionSide.Player, minionData.minionType); PlayerMinions.Add(minion); } } }
public MinionListSaveData OnSave() { MinionListSaveData minionListSaveData = new MinionListSaveData(); var minionObjects = FindObjectsOfType(typeof(Minion)); foreach (Minion oneMinionObject in minionObjects) { MinionSaveData minion = new MinionSaveData(); minion.minionSide = oneMinionObject.minionSide; minion.minionData = oneMinionObject.minionData; minion.Pos = oneMinionObject.GetComponent <Rigidbody2D>().position; minion.lastAttackTime = oneMinionObject.lastAttackTime; minion.minionType = oneMinionObject.minionType; minionListSaveData.Minions.Add(minion); } return(minionListSaveData); }