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; }
// Use this for initialization void Start() { _MonsterInstace = this; }
public void AddMonster(MonsterInstance monster) { Monsters.Add(monster); Monsters.Sort(); }
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); } } }