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; }
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; }
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); }