コード例 #1
0
ファイル: ShipGraphics.cs プロジェクト: Maxii/CodeEnv.Master
 protected override void Awake() {
     base.Awake();
     Target = _transform;
     _shipCaptain = gameObject.GetSafeMonoBehaviour<ShipCaptain>();
     maxAnimateDistance = Mathf.RoundToInt(GraphicsSettings.Instance.MaxShipAnimateDistanceFactor * _shipCaptain.Size);
     maxShowDistance = Mathf.RoundToInt(GraphicsSettings.Instance.MaxShipShowDistanceFactor * _shipCaptain.Size);
     _fleetMgr = gameObject.GetSafeFirstMonoBehaviourInParents<FleetUnitCreator>();
     InitializeHighlighting();
 }
コード例 #2
0
        public void PartTwo()
        {
            var input = Helpers.FileHelper.ParseFile(InputFile);

            var shipCapt = new ShipCaptain(input, ShipNavigationType.Waypoint);

            shipCapt.Navigate();

            Assert.IsTrue(shipCapt.Distance == 101860);
        }
コード例 #3
0
        public void PartOne()
        {
            var input = Helpers.FileHelper.ParseFile(InputFile);

            var shipCapt = new ShipCaptain(input);

            shipCapt.Navigate();

            Assert.IsTrue(shipCapt.Distance == 562);
        }
コード例 #4
0
        public void Test_KnownCommands_WithWaypoint()
        {
            var input = Helpers.FileHelper.ParseFile(TestFile);

            var shipCapt = new ShipCaptain(input, ShipNavigationType.Waypoint);

            shipCapt.Navigate();

            Assert.IsTrue(shipCapt.Distance == 286);
        }
コード例 #5
0
        public void Test_KnownCommands()
        {
            var input = Helpers.FileHelper.ParseFile(TestFile);

            var shipCapt = new ShipCaptain(input);

            shipCapt.Navigate();

            Assert.IsTrue(shipCapt.Distance == 25);
        }
コード例 #6
0
ファイル: FleetCommand.cs プロジェクト: Maxii/CodeEnv.Master
 public void ReportShipLost(ShipCaptain shipCaptain) {
     D.Log("{0} acknowledging {1} has been lost.", this.GetType().Name, shipCaptain.name);
     _fleetMgr.ProcessShipRemoval(shipCaptain);
 }
コード例 #7
0
ファイル: FleetManager.cs プロジェクト: Maxii/CodeEnv.Master
 private void RemoveShip(ShipCaptain shipCaptain) {
     bool isRemoved = ShipCaptains.Remove(shipCaptain);
     isRemoved = isRemoved && _fleetCmd.Data.RemoveShip(shipCaptain.Data);
     D.Assert(isRemoved, "{0} not found.".Inject(shipCaptain.Data.Name));
 }
コード例 #8
0
ファイル: FleetManager.cs プロジェクト: Maxii/CodeEnv.Master
 public void ProcessShipRemoval(ShipCaptain shipCaptain) {
     RemoveShip(shipCaptain);
     if (ShipCaptains.Count > Constants.Zero) {
         if (shipCaptain == LeadShipCaptain) {
             // LeadShip has died
             LeadShipCaptain = SelectBestShip();
         }
         if (_fleetGraphics.IsDetectable) {
             _fleetCmd.IsFocus = true;
         }
         return;
     }
     // FleetCommand knows when to die
 }
コード例 #9
0
ファイル: FleetManager.cs プロジェクト: Maxii/CodeEnv.Master
 private void OnGameStateChanged() {
     if (_gameMgr.GameState == GameState.Running) {
         // IMPROVE select LeadShipCaptain here for now as Data must be initialized first
         LeadShipCaptain = RandomExtended<ShipCaptain>.Choice(ShipCaptains);
         enabled = true; // OK to update now
         _fleetCmd.__GetFleetUnderway();
     }
 }