void ExtractCommand(string result) { if (result.Equals("")) { return; } if (!GameController.PlayerTurn) { return; } APIEventType eventType = (APIEventType)Enum.Parse(typeof(APIEventType), result, true); Debug.Log("event triggered: " + eventType); foreach (APIEventListener apiEventListener in Handlers) { if (apiEventListener == null) { return; } apiEventListener.HandleEvent(eventType); } GameController.PlayerTurn = false; foreach (EnemyController Enemy in GameController.Enemies) { Enemy.TakeTurn(); } GameController.PlayerTurn = true; }
public override void HandleEvent(APIEventType apievent) { if (apievent == APIEventType.ATTACK) { GameController.MainGameController.Enemies.First().TakeDamage(Damage); if (GameController.MainGameController.Enemies.Count == 0) { GameController.MainGameController.GameOver(); } } else if (apievent == APIEventType.SPIN) { GameController.MainGameController.Enemies.ForEach(enemy => enemy.TakeDamage(Damage)); } else if (apievent == APIEventType.CHARGE) { Damage += CHARGE_AMOUNT; } anim.SetTrigger(apievent.ToString().ToLower()); }
public abstract void HandleEvent(APIEventType apievent);