//Инициализация монстров public Monster(int id, int level) { switch (id) //Проход по id монстров { case 1: switch (level) //Проход по уровням монстров { case 1: //Первый уровень Name = " "; Helth = 100; Speed = 2f; Armor = 0.3f; Money = 1; IsBoss = false; MonsterEffect = new MonsterEffect() { //эффектов пока нету }; IsFly = false; break; case 2: //Второй уровень по аналогии и далее break; default: break; } break; case 2: //Второй id и далее break; default: break; } }
public void EndTurn() { ResetCooldown(); if (MonsterTeam == Director.Team.PlayerTeam) { sr.canvasCollection.DescriptionPanels[LunenOrder].GetComponent <UIElementCollection>().SetCollectionState(UITransition.State.Disable); } for (int i = 0; i < StatusEffects.Count; i++) { if (StatusEffects[i].Expires) { StatusEffects[i].ExpiresIn--; if (StatusEffects[i].ExpiresIn < 0) { if (StatusEffects[i].Effect.InflictsAnotherEffect) { MonsterEffect newBuff = new MonsterEffect(); newBuff.Effect = StatusEffects[i].Effect.NextEffect; StatusEffects.Add(newBuff); } StatusEffects.RemoveAt(i); i--; } } } CalculateStats(); }
public void AddEffect(Effects effect, int duration) { int foundEffect = HasEffect(effect); if (foundEffect == -1) { MonsterEffect newEffect = new MonsterEffect(); newEffect.Effect = effect; newEffect.ExpiresIn = duration; StatusEffects.Add(newEffect); CalculateStats(); } else { StatusEffects[foundEffect].ExpiresIn = duration; } }