Esempio n. 1
0
 public MineTarget(GameObject ship) : base(ship)
 {
     target                      = null;
     miningRange                 = controlledShip.GetComponent <MiningBeam>().Range;
     goToOrder                   = new GoToOrder(ship);
     goToOrder.OnStateFailed    += GoToOrder_OnStateFailed;
     goToOrder.OnStateSucceeded += GoToOrder_OnStateSucceeded;
 }
Esempio n. 2
0
    public MineTarget(GameObject ship, Mineable target) : base(ship)
    {
        this.target = target;
        miningRange = controlledShip.GetComponent <MiningBeam>().Range;

        goToOrder = new GoToOrder(ship, target.transform.position, miningRange);
        goToOrder.OnStateFailed    += GoToOrder_OnStateFailed;
        goToOrder.OnStateSucceeded += GoToOrder_OnStateSucceeded;
    }
    public DockAtOrder(GameObject ship) : base(ship)
    {
        target    = null;
        goToOrder = new GoToOrder(ship);
        goToOrder.OnStateFailed    += GoToOrder_OnStateFailed;
        goToOrder.OnStateSucceeded += GoToOrder_OnStateSucceeded;

        dockableComponent = controlledShip.GetComponent <Dockable>();
        dockableComponent.OnShipDocked += OnShipDocked;
    }
    public DockAtOrder(GameObject ship, Dock target) : base(ship)
    {
        this.target = target;



        goToOrder = new GoToOrder(ship, target.transform.position, target.DockingRange * 0.8f);
        goToOrder.OnStateFailed    += GoToOrder_OnStateFailed;
        goToOrder.OnStateSucceeded += GoToOrder_OnStateSucceeded;

        dockableComponent = controlledShip.GetComponent <Dockable>();
        dockableComponent.OnShipDocked += OnShipDocked;
    }
Esempio n. 5
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);
    }