public FleetCtxControl_AI(FleetCmdItem fleetCmd) : base(fleetCmd.gameObject, uniqueSubmenusReqd: Constants.Zero, menuPosition: MenuPositionMode.Over) { _fleetMenuOperator = fleetCmd; }
protected override bool TryIsSelectedItemUserRemoteFleet(ISelectable selected, out FleetCmdItem selectedFleet) { selectedFleet = selected as FleetCmdItem; return selectedFleet != null && selectedFleet.IsUserOwned; }
protected override void MakeCommand(Player owner) { FleetCmdCameraStat cameraStat = MakeCmdCameraStat(TempGameValues.ShipMaxRadius); _command = _factory.MakeFleetCmdInstance(owner, cameraStat, Configuration.CmdDesignName, gameObject); }
/// <summary> /// Called when this menu is right clicked while an Item is selected, returns <c>true</c> if the Item selected is a user-owned, remote fleet. /// Default implementation is to return false. Derived classes should override this behaviour to enable the type of access their menu supports. /// </summary> /// <param name="selected">The Item currently selected.</param> /// <param name="selectedFleet">The user-owned, selected fleet, if any.</param> /// <returns></returns> protected virtual bool TryIsSelectedItemUserRemoteFleet(ISelectable selected, out FleetCmdItem selectedFleet) { selectedFleet = null; return false; }
//private IList<IDisposable> _subscriptions; internal FleetNavigator(FleetCmdItem fleet, Seeker seeker) { ApCourse = new List<IFleetNavigable>(); _gameTime = GameTime.Instance; _gameMgr = GameManager.Instance; _jobMgr = JobManager.Instance; _fleet = fleet; _fleetData = fleet.Data; _seeker = InitializeSeeker(seeker); Subscribe(); }
private void TransferShip(ShipItem ship, FleetCmdItem fleetToJoin) { // UNCLEAR does this ship need to be in ShipState.None while these changes take place? RemoveElement(ship); ship.IsHQ = false; // Needed - RemoveElement never changes HQ Element as the TransferCmd is dead as soon as ship removed fleetToJoin.AddElement(ship); }
protected override void MakeCommand(Player owner) { FleetCmdCameraStat cameraStat = MakeCmdCameraStat(TempGameValues.ShipMaxRadius); if (IsCompositionPreset) { _command = gameObject.GetSingleComponentInChildren<FleetCmdItem>(); _factory.PopulateInstance(owner, cameraStat, Configuration.CmdDesignName, ref _command); } else { _command = _factory.MakeFleetCmdInstance(owner, cameraStat, Configuration.CmdDesignName, gameObject); } }