bool ongoing = false;                              // Are there any orders related to this behavior currently running ?

    public MineAndSellAutomaticallyBehavior(GameObject ship, AIOrderQueue orderQueue) : base(ship, orderQueue)
    {
        mineNearestOrder         = new MineNearest(ship);
        dockAtNearestOrder       = new DockAtNearestOrder(ship);
        sellToDockedStationOrder = new SellCargoToDockedStation(ship);
        undockOrder = new UndockOrder(ship);
        mineNearestOrder.OnStateSucceeded         += OnOrderFinished;
        mineNearestOrder.OnStateFailed            += (str) => OnOrderFinished();
        sellToDockedStationOrder.OnStateSucceeded += OnOrderFinished;
    }
示例#2
0
    public DefendAreaBehavior(Vector2 area, float areaRadius, GameObject ship, AIOrderQueue orderQueue) : base(ship, orderQueue)
    {
        areaCenter          = area;
        radius              = areaRadius;
        goToAreaCenterOrder = new GoToOrder(ship, area, areaRadius);
        goToAreaCenterOrder.OnStateSucceeded += GoToAreaCenterOrder_OnStateSucceeded;

        controlledEncounterAgent = controlledShip.GetComponent <EncounterAgent>();
        controlledEncounterAgent.OnEncounterJoined += ControlledEncounterAgent_OnEncounterJoined;
        controlledEncounterAgent.OnEncounterLeft   += ControlledEncounterAgent_OnEncounterLeft;
        resolveEncounterOrder = new ResolveEncounterOrder(ship, controlledEncounterAgent);

        findTargetOrder = new LookForTargetOrder(ship, OnTargetFound, areaRadius);
    }
 public AIBehavior(GameObject ship, AIOrderQueue orderQueue)
 {
     controlledShip  = ship;
     this.orderQueue = orderQueue;
 }