public override void SetCharacter(ICharacter character) { base.SetCharacter(character); if (characterAi != null) { Destroy(characterAi); characterAi = null; } if (StageController.Instance.IsDisableAi == true) { return; } switch (character.CharacterType) { case CharacterType.Rocketeer: characterAi = gameObject.AddComponent <RocketeerAi>(); break; case CharacterType.Heavy: characterAi = gameObject.AddComponent <HeavyAi>(); break; case CharacterType.Engineer: characterAi = gameObject.AddComponent <EngineerAi>(); break; case CharacterType.Doctor: characterAi = gameObject.AddComponent <DoctorAi>(); break; default: Debug.LogErrorFormat("Create CharcterAi failed, CharacterType : {0} name : {1}", character.CharacterType, character.name); return; } }
public ChaseBehaviour(ICharacterAi ai) : base(ai) { }
public HeavySkillBehaviour(ICharacterAi ai) : base(ai) { AiState = AiState.Skill; }
public IAiBehaviour(ICharacterAi ai) { this.ai = ai; }
public SleepBehaviour(ICharacterAi ai) : base(ai) { AiState = AiState.Sleep; }
public SkillBehaviour(ICharacterAi ai) : base(ai) { }
public MoveBehaviour(ICharacterAi ai) : base(ai) { AiState = AiState.Move; }
public EscapeBehaviour(ICharacterAi ai) : base(ai) { AiState = AiState.Escape; }
public EngineerSkillBehaviour(ICharacterAi ai) : base(ai) { AiState = AiState.Skill; }
public DoctorSkillBehaviour(ICharacterAi ai) : base(ai) { AiState = AiState.Skill; }
public RocketeerSkillBehaviour(ICharacterAi ai) : base(ai) { AiState = AiState.Skill; }
public DodgeBehaviour(ICharacterAi ai) : base(ai) { AiState = AiState.Dodge; }
public ChargeBehaviour(ICharacterAi ai) : base(ai) { AiState = AiState.Charge; }
public LaunchBehaviour(ICharacterAi ai) : base(ai) { AiState = AiState.Launch; }