protected override void OnInit() { AIBase.ActionSequence action = new AIBase.ActionSequence { name = "actionseq", m_Entity = base.m_Entity }; ActionBasic.ActionBase base2 = base.GetActionAttack("attack", base.m_Entity.m_Data.WeaponID, true); base2.ConditionBase = () => base.m_Entity.m_HatredTarget != null; action.AddAction(base2); action.AddAction(base.GetActionWaitRandom("actionwait", 500, 500)); base.AddAction(action); }
protected override void OnUpdate(float delta) { if (base.actionList.Count > 0) { ActionBasic.ActionBase base2 = base.actionList[0]; base2.Init(); base2.Update(); if (base2.IsEnd) { base.actionList.RemoveAt(0); } } }
protected override void OnInit() { AIBase.ActionChooseRandom action = new AIBase.ActionChooseRandom { name = "actionchooser", m_Entity = base.m_Entity }; action.ConditionBase = new Func <bool>(this.GetIsAlive); AIBase.ActionChooseIf @if = new AIBase.ActionChooseIf { m_Entity = base.m_Entity }; ActionBasic.ActionBase actionMoves = this.GetActionMoves(1); actionMoves.ConditionBase = new Func <bool>(this.GetHPMore40); @if.AddAction(actionMoves); ActionBasic.ActionBase base3 = this.GetActionMoves(3); if (< > f__am$cache0 == null) {
protected virtual void OnUpdate(float delta) { if (this.actionList.Count > 0) { this.update_action = this.actionList[0]; this.update_action.Init(); this.update_action.Update(); if (this.update_action.IsEnd) { if (this.actionList.Count > 0) { this.actionList.RemoveAt(0); } this.actionCount = this.actionList.Count; } } }
protected override ActionBasic.ActionBase GetAILogic() { if (this.groundIndex < 0) { object[] args = new object[] { base.GetType().ToString() }; Debug.LogError(Utils.FormatString("AIBabyGroundBase[{0}] groundIndex == -1", args)); } AIBase.ActionSequence sequence = new AIBase.ActionSequence { m_Entity = base.m_Entity }; sequence.AddAction(new AIMoveBabyGround(base.m_Entity, this.groundIndex, 1.1f, 2f)); ActionBasic.ActionBase actionWait = base.GetActionWait(string.Empty, 500); actionWait.ConditionBase = () => !base.FindTarget(); sequence.AddAction(actionWait); sequence.AddAction(base.GetActionWait(string.Empty, 100)); if (GameLogic.Hold.BattleData.Challenge_AttackEnable()) { ActionBasic.ActionBase action = base.GetActionAttack("actionattack", base.AttackID, true); action.ConditionBase = new Func <bool>(this.FindTarget); sequence.AddAction(action); } return(sequence); }
public void AddAction(ActionBasic.ActionBase action) { this.actionList.Add(action); this.actionCount = this.actionList.Count; }