Пример #1
0
 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);
         }
     }
 }
Пример #2
0
        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);
        }