Ejemplo n.º 1
0
 public void NewMonster(int id, Monster monster)
 {
     monsters[id] = new MonsterInstance(monster, this);
     power        = power + monster.power;
     GameUtilities.Instance.ChangeResearch(-monster.price);
     GameList.Instance.Dungeons.Sort();
     activated[id] = true;
 }
Ejemplo n.º 2
0
 // Use this for initialization
 void Start()
 {
     _MonsterInstace = this;
 }
Ejemplo n.º 3
0
 public void AddMonster(MonsterInstance monster)
 {
     Monsters.Add(monster);
     Monsters.Sort();
 }
Ejemplo n.º 4
0
 void FixedUpdate()
 {
     if (GameUtilities.Instance.tick != tick)
     {
         tick = GameUtilities.Instance.tick;
         int monsterDamage = 0;
         int assaultDamage = 0;
         foreach (MonsterInstance monster in monstersStat)
         {
             monsterDamage += monster.monster.damage;
         }
         foreach (MonsterInstance assault in assaultStat)
         {
             assaultDamage += assault.monster.damage;
         }
         while (monsterDamage > 0 && assaultStat.Count > 0)
         {
             if (monsterDamage >= assaultStat[0].life)
             {
                 MonsterInstance tmp = assaultStat[0];
                 monsterDamage -= tmp.life;
                 assaultStat.Remove(tmp);
                 Destroy(empAssault[0]);
                 empAssault.RemoveAt(0);
                 tmp = null;
                 pn--;
             }
             else
             {
                 assaultStat[0].life -= monsterDamage;
             }
         }
         while (assaultDamage > 0 && monstersStat.Count > 0)
         {
             if (assaultDamage >= monstersStat[0].life)
             {
                 MonsterInstance tmp = monstersStat[0];
                 assaultDamage -= tmp.life;
                 monstersStat.Remove(tmp);
                 Destroy(empMonster[0]);
                 empMonster.RemoveAt(0);
                 tmp = null;
                 mo--;
             }
             else
             {
                 monstersStat[0].life -= assaultDamage;
             }
         }
         if (monstersStat.Count <= 0)
         {
             foreach (GameObject emp in empAssault)
             {
                 Destroy(emp);
             }
             UIController.Instance.inFight = false;
             assaultStat.Clear();
             UIController.Instance.FightEnded(true);
         }
         else if (assaultStat.Count <= 0)
         {
             foreach (GameObject emp in empMonster)
             {
                 Destroy(emp);
             }
             UIController.Instance.inFight = false;
             monstersStat.Clear();
             UIController.Instance.FightEnded(false);
         }
     }
 }