private Node IdleMotion() { MoveToPositionInArea moveToPosition = new MoveToPositionInArea(gameObject, area); PlayAnimation walkAnimation = new PlayAnimation(gameObject, walk); //PlayerNotAround playerNotAround = new PlayerNotAround(moveToPosition, gameObject, enemy, playerDistance); Sequence idle = new Sequence(new List <Node> { moveToPosition, walkAnimation }); move = new OutcomeEquals(idle, 3); return(move); }
private PrioritySelector AttackPattern() { PrioritySelector goodHealth = GoodHealthPattern(); //HealthAbove healthAbove = new HealthAbove(goodHealth, enemy, mediumHealth); att3 = new OutcomeEquals(goodHealth, 2); Selector lowHealth = LowHealthPattern(); att1 = new OutcomeEquals(lowHealth, 1); //HealthBelow critical = new HealthBelow(lowHealth, enemy, criticalHealth); Sequence mediumHealthPattern = MediumHealthPattern(); //HealthBelow medium = new HealthBelow(mediumHealthPattern, enemy, mediumHealth); att2 = new OutcomeEquals(mediumHealthPattern, 0); return(new PrioritySelector(new List <Node> { att3, att2, att1 })); }