public override void ChooseOption() { if (gameObject.tag == "Enemy1") { enemyName = CharacterName.Enemy1; } else if (gameObject.tag == "Enemy2") { enemyName = CharacterName.Enemy2; } else { enemyName = CharacterName.Enemy3; } int validAction = -1; while (validAction < 0) { int option = Random.Range(0, 3); switch (option) { case 0: validAction = Attack(); if (validAction >= 0) { enemyActionEvent.Invoke(validAction, Actions.Attack, enemyName); actualAction = Actions.Attack; destination = playerPosition.transform.position; ChangeAnimation(Animations.MoveIn); } break; case 1: validAction = Magic(); if (validAction >= 0) { enemyActionEvent.Invoke(validAction, Actions.Magic, enemyName); actualAction = Actions.Magic; destination = playerPosition.transform.position; ChangeAnimation(Animations.MoveIn); } break; case 2: validAction = Heal(); if (validAction >= 0) { ChangeAnimation(Animations.Cure); } break; } } }
public void OnAction(EnemyEventInfo info) { EnemyAction.Invoke(info); }