Exemple #1
0
 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;
 }
Exemple #9
0
 void OnMakeFleetCompleted(FleetCmdModel fleet) { RelayToCurrentState(fleet); }
Exemple #10
0
    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
    }
Exemple #11
0
 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;
 }