Inheritance: MonoBehaviour
コード例 #1
0
        public ActionResult <Rover> LaunchRover([FromQuery] Position position)
        {
            if (position == null)
            {
                return(BadRequest("No position supplied"));
            }

            if (MissionControl._plateau == null)
            {
                return(BadRequest("There's no plateu, rover can not be deployed, find the plateu first!"));
            }

            if (MissionControl._plateau.Width < position.X + 1)
            {
                ModelState.AddModelError(nameof(Position.X), "There's no such X coordinate on the plateu");
            }

            if (MissionControl._plateau.Height < position.Y + 1)
            {
                ModelState.AddModelError(nameof(Position.Y), "There's no such Y coordinate on the plateu");
            }

            if (ModelState.IsValid)
            {
                return(MissionControl.LaunchRover(position));
            }
            return(BadRequest(ModelState));
        }
コード例 #2
0
        public void OutputRoverStatusWhenNoRoversThrowsException()
        {
            _missionControl = new MissionControl(_mockRoverManager, null);
            _mockRoverManager.Stub(x => x.RoverCount).Return(0);

            _missionControl.OutputRoverStatus();
        }
コード例 #3
0
    public void RePlay_Click()
    {
        audioControl.PlaySound("Click 1");
        Play_Click();
        Transform confirm = Instantiate(DialogConfirm) as Transform;

        print(this.transform.parent.name + "------------------------------");
        confirm.parent = this.transform.parent;
        //confirm.parent = transform;
        Time.timeScale  = 1;
        IDButtonInPause = 4;
        confirm.GetComponent <DialogConfirm>().ShowDialog(MissionControl.Language["Try_Again"], MissionControl.Language["try_again_detail"], () =>
        {
            //Hungbv 19/01
            //FactoryScenesController.isCreat = false;
            //TownScenesController.isCreat = false;
            //CreatAndControlPanelHelp.countClickHelpPanel = 0;
            MissionControl.ShowTryAgain();
            Destroy(gameObject);
            Time.timeScale = 1;
        }, () =>
        {
            //CancelButton();
            Time.timeScale = 1;
        });
        print("aaaaaaaaaaa");
    }
コード例 #4
0
 public void TryAgainButton()
 {
     CommonObjectScript.isViewPoppup = false;
     //LeanTween.scale(bgMain.gameObject, new Vector3(0.2f, 0.2f, 1), 0.4f).setEase(LeanTweenType.easeInBack).setUseEstimatedTime(true).setOnComplete(() =>
     //{
     //    RemoveAllItem();
     //    bgMain.gameObject.SetActive(false);
     //    bgBlack.gameObject.SetActive(false);
     //    LeanTween.delayedCall(0.3f, delegate() { Application.LoadLevel("Farm"); });
     //});
     LeanTween.scale(bgMain.gameObject, new Vector3(0, 0, 0), 0.4f).setEase(LeanTweenType.easeInBack).setUseEstimatedTime(true).setOnComplete(() =>
     {
         RemoveAllItem();
         bgMain.gameObject.SetActive(false);
         bgBlack.gameObject.SetActive(false);
         Transform confirm = Instantiate(DialogConfirm) as Transform;
         confirm.GetComponent <DialogConfirm>().ShowDialog(MissionControl.Language["Try_Again"], MissionControl.Language["try_again_detail"], () =>
         {
             //Hungbv
             FactoryScenesController.isCreat = false;
             TownScenesController.isCreat    = false;
             CreatAndControlPanelHelp.countClickHelpPanel = 0;
             MissionControl.ShowTryAgain();
             Destroy(gameObject);
             Time.timeScale = 1;
         }, () =>
         {
             OkButton();
             Time.timeScale = 1;
         });
     });
     print("aaaaaaaaaaa");
 }
コード例 #5
0
        static void Prefix(LanceOverride __instance)
        {
            MissionControl encounterManager = MissionControl.Instance;
            RunPayload     payload          = new ContractAndLanceOverridePayload(encounterManager.CurrentContract.Override, __instance);

            MissionControl.Instance.RunEncounterRules(LogicBlock.LogicType.REQUEST_LANCE_COMPLETE, payload);
        }
コード例 #6
0
        public void CurrentRoverReturnsAnInstanceOfTypeIRover()
        {
            _missionControl = new MissionControl(_mockRoverManager, null);
            _mockRoverManager.Stub(x => x.CurrentRover()).Return(new LandRover());

            Assert.IsInstanceOf <IRover>(_missionControl.CurrentRover());
        }
コード例 #7
0
 public ActionResult <Plateau> SetPlateu([FromQuery] Size size)
 {
     if (ModelState.IsValid)
     {
         return(MissionControl.SetPlateu(size));
     }
     return(BadRequest(ModelState));
 }
コード例 #8
0
        static void Prefix(EncounterLayerParent __instance)
        {
            Main.Logger.Log($"[EncounterLayerParentInitializeContractPatch Prefix] Patching InitializeContract");
            MissionControl.Instance.InitSceneData();
            MissionControl encounterManager = MissionControl.Instance;

            MissionControl.Instance.RunEncounterRules(LogicBlock.LogicType.ENCOUNTER_MANIPULATION);
        }
コード例 #9
0
        public void ClearAndWriteLineCallsConsoleClearAndWriteLinePutsOutMessage(string message)
        {
            _missionControl = new MissionControl(null, _mockUserIo);
            _missionControl.ClearAndWriteLine(message);

            _mockUserIo.AssertWasCalled(x => x.Clear());
            _mockUserIo.AssertWasCalled(x => x.WriteLine(message));
        }
コード例 #10
0
 public Level(MissionControl levelControl, LevelMode mode, Level dark, Level neutral, Level hero)
 {
     LevelControl     = levelControl;
     NextLevelHero    = hero;
     NextLevelNeutral = neutral;
     NextLevelDark    = dark;
     levelMode        = mode;
 }
コード例 #11
0
        public void IsValidRoverCoordsReturnsTrueIfCoordsValidAndFalseIfNot(string[] input, bool expected)
        {
            _missionControl = new MissionControl(_mockRoverManager, null);
            _mockRoverManager.Stub(x => x.CreateRover(0, 0, 'N'));
            _mockRoverManager.Stub(x => x.CheckCoords(new[] { int.Parse(input[0]), int.Parse(input[1]) })).Return(!expected);

            Assert.AreEqual(expected, _missionControl.IsValidRoverCoords(input));
        }
コード例 #12
0
        public bool SpawnLanceMember(GameObject spawnPoint, Vector3 orientationTargetPosition, GameObject lookTarget, LookDirection lookDirection)
        {
            CombatGameState combatState      = UnityGameInstance.BattleTechGame.Combat;
            MissionControl  encounterManager = MissionControl.Instance;

            if (TotalAttemptCount >= TotalAttemptMax)
            {
                HandleFallback(this.payload, this.lanceKey, this.orientationTargetKey);
                return(false);
            }

            Vector3 newSpawnPosition = GetRandomPositionFromTarget(orientationTargetPosition, minDistanceFromTarget, maxDistanceFromTarget);

            newSpawnPosition = GetClosestValidPathFindingHex(spawnPoint, newSpawnPosition, $"NewRandomSpawnPositionFromOrientationTarget.{orientationTarget.name}");

            if (encounterManager.EncounterLayerData.IsInEncounterBounds(newSpawnPosition))
            {
                if (!IsWithinDistanceOfInvalidPosition(newSpawnPosition))
                {
                    spawnPoint.transform.position = newSpawnPosition;

                    if (lookDirection == LookDirection.TOWARDS_TARGET)
                    {
                        RotateToTarget(spawnPoint, lookTarget);
                    }
                    else
                    {
                        RotateAwayFromTarget(spawnPoint, lookTarget);
                    }

                    if (!IsSpawnValid(spawnPoint, orientationTargetPosition))
                    {
                        CheckAttempts();
                        return(SpawnLanceMember(spawnPoint, orientationTargetPosition, lookTarget, lookDirection));
                    }
                    else
                    {
                        invalidSpawnLocations.Add(newSpawnPosition);
                        AttemptCount = 0;
                        Main.Logger.Log("[SpawnLanceMembersAroundTarget] Lance member spawn complete");
                    }
                }
                else
                {
                    Main.LogDebugWarning("[SpawnLanceMembersAroundTarget] Cannot spawn a lance member on an invalid spawn. Finding new spawn point.");
                    CheckAttempts();
                    return(SpawnLanceMember(spawnPoint, orientationTargetPosition, lookTarget, lookDirection));
                }
            }
            else
            {
                Main.LogDebugWarning("[SpawnLanceMembersAroundTarget] Selected lance spawn point is outside of the boundary. Select a new lance spawn point.");
                CheckAttempts();
                return(SpawnLanceMember(spawnPoint, orientationTargetPosition, lookTarget, lookDirection));
            }

            return(true);
        }
コード例 #13
0
ファイル: Program.cs プロジェクト: bwalko1/mars-rover
        private static void Main()
        {
            var roverFactory   = new RoverFactory();
            var userIo         = new ConsoleUserIO();
            var roverManager   = new RoverManager(roverFactory);
            var missionControl = new MissionControl(roverManager, userIo);

            missionControl.StartMission();
        }
コード例 #14
0
ファイル: SharedGameState.cs プロジェクト: Alword/Bost
 public SharedGameState()
 {
     World    = new World();
     Missions = new MissionControl();
     Entitys  = new Dictionary <int, Transform>();
     Players  = new Players();
     Players.OnRemovePlayer += Players_OnRemovePlayer;
     Players.OnLinkPlayer   += Players_OnLinkPlayer;;
 }
コード例 #15
0
ファイル: Global.asax.cs プロジェクト: huyle0110/LeStore
        protected void Application_Start()
        {
            MissionControl.getInstance();

            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
        }
コード例 #16
0
        public WhenExecutingMission()
        {
            var logger            = new NullLoggerFactory().CreateLogger("Logger");
            var directionControl  = new DirectionControl();
            var movementControl   = new MovementControl();
            var planControl       = new PlanControl(logger);
            var navigationControl = new NavigationControl(movementControl, directionControl, logger);

            _missionControl = new MissionControl(logger, navigationControl, planControl);
        }
コード例 #17
0
        static void Prefix(EncounterLayerParent __instance)
        {
            Main.Logger.Log($"[EncounterLayerParentFirstTimeInitializationPatch Prefix] Patching FirstTimeInitialization");
            MissionControl EncounterManager = MissionControl.Instance;

            if (EncounterManager.IsContractValid)
            {
                EncounterManager.RunEncounterRules(LogicBlock.LogicType.SCENE_MANIPULATION);
            }
        }
コード例 #18
0
        public void CheckGridEdgeReturnsTrueIfCoordInGridAndFalseIfNot(int[] futureCoords, int gridWidth, int gridHeight, bool expected)
        {
            _missionControl = new MissionControl(_mockRoverManager, null)
            {
                GridWidth  = gridWidth,
                GridHeight = gridHeight
            };

            Assert.AreEqual(expected, _missionControl.CheckGridEdge(futureCoords));
        }
コード例 #19
0
        public ActionResult <Position> Move(Guid roverId, Command command)
        {
            var result = MissionControl.Move(roverId, command);

            if (!string.IsNullOrEmpty(result.Error))
            {
                return(BadRequest(result.Error));
            }
            return(result.Position);
        }
コード例 #20
0
        public void OutputRoverStatusCallsClearAndWriteLineOnAllRoverStatus()
        {
            _missionControl = new MissionControl(_mockRoverManager, _mockUserIo);
            _mockRoverManager.Stub(x => x.AllRoverStatus()).Return("Rover 0 is at 0, 0 facing N.");
            _mockRoverManager.Stub(x => x.RoverCount).Return(1);

            _missionControl.OutputRoverStatus();
            _mockRoverManager.AssertWasCalled(x => x.AllRoverStatus());
            _mockUserIo.AssertWasCalled(x => x.WriteLine("Rover 0 is at 0, 0 facing N."));
        }
コード例 #21
0
 public ActiveMission(MissionControl missionControl, Rocket rocket, MissionData mission, float realtimeSinceStartup, FlightPlan flightPlan)
 {
     this.rocket               = rocket;
     this.missionControl       = missionControl;
     missionData               = mission;
     startTime                 = realtimeSinceStartup;
     this.flightPlan           = flightPlan;
     rocket.transform.position = flightPlan.flightPath.nodes[0];
     duration = mission.getDurationSeconds();
 }
コード例 #22
0
 public void MainMenuPrintsCorrectly()
 {
     _missionControl = new MissionControl(null, _mockUserIo);
     _missionControl.OutputMainMenu();
     _mockUserIo.AssertWasCalled(x => x.WriteLine("____MAIN MENU____\n" +
                                                  "[1] Launch Rover\n" +
                                                  "[2] Drive Rover\n" +
                                                  "[3] Rover Status\n" +
                                                  "[4] Exit"));
 }
コード例 #23
0
        public void GetUserInputCallsWriteAndReadLine(string input, string expected)
        {
            _missionControl = new MissionControl(null, _mockUserIo);
            _mockUserIo.Stub(x => x.ReadLine()).Return(input);

            var actual = _missionControl.GetUserInput();

            _mockUserIo.AssertWasCalled(x => x.Write(": "));

            Assert.AreEqual(expected, actual);
        }
コード例 #24
0
ファイル: Program.cs プロジェクト: Minions/Minions
        // ReSharper restore InconsistentNaming
        // ReSharper disable InconsistentNaming
        private static int Main([NotNull] string[] args)
        {
            using (var mission_control = new MissionControl())
            {
                CommandLineProgram<CompilerUserInteractionModel>.submit_missions_to(mission_control);
                CompileProjects.submit_missions_to(mission_control);

                mission_control.announce(new DoMyBidding(args));
                return (int) mission_control.overlord_throne.watch_the_fools_dance();
            }
        }
        static void Prefix(EncounterLayerParent __instance)
        {
            Main.Logger.Log($"[EncounterLayerParentFirstTimeInitializationPatch Prefix] Patching FirstTimeInitialization");
            MissionControl EncounterManager = MissionControl.Instance;

            if (EncounterManager.IsContractValid)
            {
                UnityGameInstance.BattleTechGame.MessageCenter.PublishMessage(new BeforeSceneManipulationMessage());
                EncounterManager.RunEncounterRules(LogicBlock.LogicType.SCENE_MANIPULATION);
            }
        }
コード例 #26
0
        public void LaunchRoverCreatesNewRover()
        {
            _missionControl = new MissionControl(_mockRoverManager, null);
            _mockRoverManager.Stub(x => x.CreateRover(0, 0, 'N'));
            _mockRoverManager.Stub(x => x.CurrentRover()).Return(new LandRover());

            _missionControl.LaunchRover(new[] { "0", "0", "N" });
            _mockRoverManager.AssertWasCalled(x => x.CreateRover(0, 0, 'N'));

            Assert.IsInstanceOf <IRover>(_mockRoverManager.CurrentRover());
        }
コード例 #27
0
 /// <summary>
 /// On Monobehaviour Awake, Checks if MissionControl is already present, if false, makes it persistent, if true destroys the new object and keeps the old persistent one.
 /// </summary>
 public void Awake()
 {
     if (pObject == null)
     {
         DontDestroyOnLoad(gameObject);
         pObject = this;
     }
     else if (pObject != this)
     {
         Destroy(gameObject);
     }
 }
コード例 #28
0
ファイル: HangerSelection.cs プロジェクト: brunokruse/escape
    // Use this for initialization
    void Start()
    {
        currentShip = 1;

        GameObject mC = GameObject.Find("MissionControl");

        missionControlScript = mC.GetComponent <MissionControl>();

        GameObject screenManager = GameObject.Find("ScreenManager");

        screenManagerScript = screenManager.GetComponent <ScreenManager>();
    }
コード例 #29
0
ファイル: RunMissions.cs プロジェクト: Minions/Minions
 public void mission_control_should_execute_mission_parts_when_messages_arrive()
 {
     using (var test_subject = new MissionControl())
     {
         test_subject.send_out_fools_to(orc_raid());
         test_subject.announce(new ElvesFound());
         test_subject.announce_and_wait(new SayGo(), TimeSpan.FromMinutes(100))
             .Should()
             .BeTrue();
         should_have_spawned_orcs(1);
         all_orcs_should_have_raided();
     }
 }
コード例 #30
0
        public Vector3 GetRandomPositionWithinBounds()
        {
            MissionControl EncounterManager  = MissionControl.Instance;
            GameObject     chunkBoundaryRect = EncounterManager.EncounterLayerGameObject.transform.Find("Chunk_EncounterBoundary").gameObject;
            GameObject     boundary          = chunkBoundaryRect.transform.Find("EncounterBoundaryRect").gameObject;
            EncounterBoundaryChunkGameLogic chunkBoundary = chunkBoundaryRect.GetComponent <EncounterBoundaryChunkGameLogic>();
            EncounterBoundaryRectGameLogic  boundaryLogic = boundary.GetComponent <EncounterBoundaryRectGameLogic>();
            Rect boundaryRec = chunkBoundary.GetEncounterBoundaryRectBounds();

            Vector3 randomRecPosition = boundaryRec.GetRandomPosition();

            return(randomRecPosition.GetClosestHexLerpedPointOnGrid());
        }
コード例 #31
0
 void Update()
 {
     //When user click login button on DialogLeft
     if (callLogin)
     {
         if (FB.IsLoggedIn)
         {
             callLogin = false;
             MissionControl.GetFriendsList();
             dialogLeft.GetComponent <DialogMissionLeft>().SetData(level);
         }
     }
 }
コード例 #32
0
 public Sprite[] backgroundImages;                                          //References to the different type of background images
 void Awake()
 {
     //enact singleton pattern by destroying duplicates
     if (huston == null)
     {
         DontDestroyOnLoad(gameObject);
         huston = this;
     }
     else if (huston != this)
     {
         Destroy(gameObject);
     }
 }
コード例 #33
0
ファイル: RunMissions.cs プロジェクト: Minions/Minions
 public void mission_control_should_spawn_missions_parts_when_spawn_messages_arrive()
 {
     using (var test_subject = new MissionControl())
     {
         var raid = orc_raid();
         should_be_no_orcs();
         test_subject.send_out_fools_to(raid);
         test_subject.announce(new ElvesFound());
         test_subject.announce_and_wait(new ElvesFound(), TimeSpan.FromMilliseconds(100))
             .Should()
             .BeTrue();
         should_have_spawned_orcs(2);
     }
 }
コード例 #34
0
 public void HideLoginDialog()
 {
     if (FB.IsLoggedIn)
     {
         MissionControl.GetFriendsList();
     }
     dialogLogin.GetComponent <DialogLogin>().HideDialog(() =>
     {
         LoadingScene.ShowLoadingScene("Mission", true);
     });
     if (!exitScene)
     {
         exitScene = true;
     }
 }
コード例 #35
0
ファイル: CompileProjects.cs プロジェクト: Minions/Minions
 private CompileProjects([NotNull] MissionControl mission_control)
 {
     _mission_control = mission_control;
 }