namespace Game { public class AIMonster01 : AIEntityBase { protected override void OnCreate() { Sequence(() => { SetHungry(); CheckStagger(); FindTarget(); Selector(() => { CaseLongRange(); CaseMelee(); CaseSpectator(); }); }); } private void SetHungry() { Selector("设置饥饿值", () => { SetHungryIncrease(EAIModuleType.LongRange, 1, 1); SetHungryIncrease(EAIModuleType.Melee, 1, 1); SetHungryIncrease(EAIModuleType.Spectator, 1, 1); }); } private void CaseLongRange() { Sequence("远程", () => { CheckModuleType(EAIModuleType.LongRange); Selector(() => { Sequence(() => { CheckDistance(0, 2); CastSkill(3, false); }); Sequence(() => { CheckDistance(2, 3); Selector(() => { CastSkill(2, true); MoveAroundTo(); }); }); MoveTo(); }); }); } private void CaseMelee() { Sequence("近战", () => { CheckModuleType(EAIModuleType.Melee); Selector(() => { Sequence(() => { CheckDistance(0, 1); Selector(() => { CastSkill(0, true); CastSkill(3, false); }); }); Sequence(() => { CheckDistance(1, 2); MoveTo(); }); Selector(() => { CastSkill(1, true); MoveAroundTo(); }); }); }); } private void CaseSpectator() { Sequence("观战", () => { CheckModuleType(EAIModuleType.Spectator); Selector(() => { Sequence(() => { CheckDistance(0, 2); CastSkill(3, false); }); Sequence(() => { CheckDistance(2, 3); Selector(() => { CastSkill(1, true); MoveAround(); }); }); MoveTo(); }); }); } } }