protected override void Start() { base.Start(); var fleetParent = gameObject.GetSafeFirstMonoBehaviourInParents<FleetUnitCreator>(); _fleet = fleetParent.gameObject.GetSafeFirstMonoBehaviourInChildren<FleetCmdModel>(); __InitializeNavigator(); //InitializeAutoPilot(); }
protected override void Awake() { base.Awake(); _fleet = gameObject.GetSafeMonoBehaviour<FleetCmdModel>(); _seeker = gameObject.GetSafeMonoBehaviour<Seeker>(); _fleetData = _fleet.Data; _closeEnoughToWaypointDistance = 5F * GameTime.Instance.GameSpeed.SpeedMultiplier(); Subscribe(); }
protected override void Awake() { base.Awake(); _seeker = gameObject.GetSafeMonoBehaviour<Seeker>(); _fleet = gameObject.GetSafeMonoBehaviour<FleetCmdModel>(); Subscribe(); }
public FleetNavigator(FleetCmdModel fleet, Seeker seeker) { // AStar.Seeker requires this Navigator to stay in this VS Project _data = fleet.Data; _fleet = fleet; _seeker = seeker; _gameTime = GameTime.Instance; _gameSpeedMultiplier = _gameTime.GameSpeed.SpeedMultiplier(); // FIXME where/when to get initial GameSpeed before first GameSpeed change? AssessFrequencyOfCourseProgressChecks(); Subscribe(); }
public FleetNavigator(FleetCmdModel fleet, Seeker seeker) { _fleet = fleet; _seeker = seeker; _gameTime = GameTime.Instance; _gameSpeedMultiplier = _gameTime.GameSpeed.SpeedMultiplier(); // FIXME where/when to get initial GameSpeed before first GameSpeed change? Subscribe(); }
public void TransferShip(ShipModel ship, FleetCmdModel fleetCmd) { // UNCLEAR does this ship need to be in ShipState.None while these changes take place? RemoveElement(ship); ship.IsHQElement = false; // Needed - RemoveElement never changes HQ Element as the TransferCmd is dead as soon as ship removed fleetCmd.AddElement(ship); }
public FleetIdleTask(FleetCmdModel fleetCmd, Action<ATask> onCompletion = null) { _fleetCmd = fleetCmd; this.onCompletion += onCompletion; }
public static FleetMoveTask CreateAndStartTask(FleetCmdModel fleetCmd, Action<ATask> onCompletion = null) { var task = new FleetMoveTask(fleetCmd, onCompletion); TaskMgr.AddTask(task); return task; }
void OnMakeFleetCompleted(FleetCmdModel fleet) { RelayToCurrentState(fleet); }
void ExecuteJoinFleetOrder_OnMakeFleetCompleted(FleetCmdModel transferFleet) { LogEvent(); var transferFleetView = transferFleet.Transform.GetSafeMonoBehaviour<FleetCmdView>(); transferFleetView.PlayerIntel.CurrentCoverage = IntelCoverage.Comprehensive; //TODO PlayerIntelCoverage should be set through sensor detection //CameraLosChangedListener enabled state handled by View.InitializeVisualMembers() // issue a JoinFleet order to our transferFleet var fleetToJoin = CurrentOrder.Target as ICmdTarget; FleetOrder joinFleetOrder = new FleetOrder(FleetDirective.Join, fleetToJoin); transferFleet.CurrentOrder = joinFleetOrder; //// once joinFleetOrder takes, this ship state will be changed by its 'new' transferFleet Command }
public ShipDestinationInfo(FleetCmdModel cmd, Vector3 fstOffset, bool isEnemy) { Target = cmd; _fstOffset = fstOffset; if (isEnemy) { _closeEnoughDistanceRef = new Reference<float>(() => cmd.Radius + 5F + cmd.MaxWeaponsRange); } else { _closeEnoughDistance = cmd.Radius + 5F; } _progressCheckDistance = 5F; }