/// <summary> /// /// </summary> /// <returns></returns> public override INpcState DoAction() { RotateTowardsTarget(Npc.Target); ChooseAttackType(); NpcAnimatorController.Tick(); return(GetNextState()); }
/// <summary> /// Selects how to attack (Light, Heavy, etc.) /// </summary> private void ChooseAttackType() { // TODO: Works random right now, should calculated var random = new System.Random(); var type = typeof(AttackType); var attackTypes = type.GetEnumValues(); var randomIndex = random.Next(attackTypes.Length); var randomAttackType = attackTypes.GetValue(randomIndex); switch (randomAttackType) { case AttackType.Light: NpcAnimatorController.LightAttack(); break; //case AttackType.Heavy: // break; } }
private void Awake() { animatorController = new NpcAnimatorController(GetComponent <Animator>()); _agent = GetComponent <NavMeshAgent>(); }