Пример #1
0
    public static aiBehaviorNode attackTarget(baseRtsAI rabbit, IRtsUnit target)
    {
        return new Node_PrioritySelector
            (new aiBehaviorNode[]
            {//change to seletor nested ina  sequence
                new Node_Invert(new Node_Succeeder(new Node_SetVariable(rabbit.blackBoard,"Target",target.GetGameObject()))),
                new Node_Invert
                (
                    new Node_Repeat_Until_Fail
                    (
                    pierBehaviorsubTrees.killTarget(rabbit,"Target")

                    )
                ),
                new Node_MoveTo_With_Astar(rabbit.gameObject, rabbit.m_unit,rabbit.SeekarriveRadius,target.GetGameObject().transform.position)

            }
        );
    }
Пример #2
0
 void OnEnable()
 {
     stats = this.gameObject.GetComponent<IRtsUnit>();
     RTSUnitManager.Register(this);
 }
Пример #3
0
 public static void giveOrder(baseRtsAI unit, OrderType type, IRtsUnit target)
 {
     if (unit.stats != target)
     {
         EnqueueComand(unit, attackTarget(unit, target));
     }
 }
Пример #4
0
 public static void giveOrders(List<baseRtsAI> Selection, OrderType type, IRtsUnit target)
 {
     foreach (baseRtsAI rabbit in Selection)
     {
         //aiBehaviorNode commande = UnitOrders.moveComand(rabbit,hit.point);
         if (rabbit != null)
         {
             giveOrder(rabbit, type, target);
         }
     }
 }
Пример #5
0
 // Use this for initialization
 void Awake()
 {
     stats = this.gameObject.GetComponent<IRtsUnit>();
     builder = this.gameObject.GetComponent<UnitBuilder>();
 }