public override void BuildBehaviourTree(StateMachine stateMachine) { machine = stateMachine; enemy = machine as Enemy1; waitTimeEvaluateDeltaTime = new WaitForSeconds(evaluateDeltaTime); goClosePos_2 = new Sequence(new List <Node> { actionMove_2 }); goFarPos_1 = new Sequence(new List <Node> { checkIsDistance_1, checkIsThereObstacle_1, checkPathCornerCount_1, actionMove_1 }); rootNode = new Selector(new List <Node> { goFarPos_1, goClosePos_2 }); checkIsDistance_1.StartLeaf(this); checkIsThereObstacle_1.StartLeaf(this); checkPathCornerCount_1.StartLeaf(this); actionMove_1.StartLeaf(this); actionMove_2.StartLeaf(this); }
public override void BuildBehaviourTree(StateMachine stateMachine) { machine = stateMachine; enemy = machine as Enemy2; waitForApproach_3 = new Sequence(new List <Node> { checkIsDistance1_3, checkIsDistance2_3, actionMirrorTargetMoves_3 }); goToAttackPosition_2 = new Sequence(new List <Node> { checkIsDistance_2, actionGoToAttackPosition_2 }); closeAttack_12 = new Sequence(new List <Node> { checkIsDistance_12, actionCloseAttack_12, actionPlayIdleAnimation_12, actionWaitAfterAttack_12 }); dashAttack_11 = new Sequence(new List <Node> { checkIsDistance1_11, checkIsDistance2_11, actionDashAttack_11, actionPlayAttackEnd_11, actionPlayIdleAnimation_11, actionWaitAfterAttack_11 }); approachAttack_1 = new Selector(new List <Node> { dashAttack_11, closeAttack_12 }); rootNode = new Selector(new List <Node> { approachAttack_1, goToAttackPosition_2, waitForApproach_3 }); checkIsDistance1_11.StartLeaf(this); checkIsDistance2_11.StartLeaf(this); actionDashAttack_11.StartLeaf(this); actionPlayAttackEnd_11.StartLeaf(this); actionPlayIdleAnimation_11.StartLeaf(this); actionWaitAfterAttack_11.StartLeaf(this); checkIsDistance_12.StartLeaf(this); actionCloseAttack_12.StartLeaf(this); actionPlayIdleAnimation_12.StartLeaf(this); actionWaitAfterAttack_12.StartLeaf(this); checkIsDistance_2.StartLeaf(this); actionGoToAttackPosition_2.StartLeaf(this); checkIsDistance1_3.StartLeaf(this); checkIsDistance2_3.StartLeaf(this); actionMirrorTargetMoves_3.StartLeaf(this); }