示例#1
0
        public void CreateRobotLogicTest()
        {
            var amount = data.Robots.Data.Count();
            var result = _manager.CreateRobot();

            Assert.AreEqual(amount + 1, data.Robots.Data.Count());
            Assert.AreEqual(result.RobotID + result.ActivationCode, 0);
        }
示例#2
0
        public RobotRegistrationOutput RegisterRobot()
        {
            var robot = robotManager.CreateRobot();

            return(new RobotRegistrationOutput
            {
                RobotId = robot.RobotID,
                ActivateCode = robot.ActivationCode
            });
        }
示例#3
0
        private IEnumerator Start()
        {
            TerrainManager.CreateTerrain(Vector3.zero);

            yield return(null);

            //CameraManager.AddCamera("Default Camera 1", new Vector3(-40, 115, -138), Quaternion.Euler(30, 10, 0));
            //CameraManager.AddCamera("Default Camera 2", new Vector3(33, 70.5f, -49), Quaternion.Euler(50, -32, 0));
            //CameraManager.AddCamera("Default Camera 3", new Vector3(36.5f, 180f, 138), Quaternion.Euler(63, 230, -5f));
            CameraManager.Remove("GUI Camera");

            NPCInit.Initialize();

            UIManager.Create <HUDViewModel>().IsActive         = true;
            UIManager.Create <NPCDialogueViewModel>().IsActive = false;
            UIManager.Create <BlacksmithViewModel>().IsActive  = false;
            UIManager.Create <InGameMenuViewModel>().IsActive  = false;
            UIManager.Create <RecipeViewModel>().IsActive      = false;
            //TODO: Parametrize prefab name with a UI selector
            CodeEditorViewModel codeEditorViewModel = UIManager.Create <CodeEditorViewModel>();

            StartCoroutine(codeEditorViewModel.ToggleEditorCoroutine());

            GameObject robot = RobotManager.CreateRobot("robotSphere", new Vector3(-10, 20, 0), Quaternion.identity);

            RobotManager.ActiveRobot = robot;
            RobotManager.CreateRobot("robotSphere", new Vector3(0, 20, 0), Quaternion.identity);
            RobotManager.CreateRobot("robotSphere", new Vector3(10, 20, 0), Quaternion.identity);
            RobotManager.CreateRobot("robotSphere", new Vector3(-10, 20, -10), Quaternion.identity);
            RobotManager.CreateRobot("robotSphere", new Vector3(0, 20, -10), Quaternion.identity);
            RobotManager.CreateRobot("robotSphere", new Vector3(10, 20, -10), Quaternion.identity);
            RobotManager.CreateRobot("robotSphere", new Vector3(-10, 20, -20), Quaternion.identity);
            RobotManager.CreateRobot("robotSphere", new Vector3(0, 20, -20), Quaternion.identity);
            RobotManager.CreateRobot("robotSphere", new Vector3(10, 20, -20), Quaternion.identity);

            GameObject enemyManagerPrefab = Resources.Load <GameObject>("InfrastructurePrefabs/EnemyManager");

            Instantiate(enemyManagerPrefab);

            InventoryManager.Inventory = new Inventory();
            InventoryViewModel  inventoryViewModel  = UIManager.Create <InventoryViewModel>();
            ItemDialogViewModel itemDialogViewModel = UIManager.Create <ItemDialogViewModel>();

            inventoryViewModel.IsActive  = false;
            codeEditorViewModel.IsActive = false;
            itemDialogViewModel.IsActive = false;

            CameraManager.SetCameraWall();
        }
示例#4
0
        public Robot CreateRobot <T>() where T : Robot
        {
            var robot = RobotManager.CreateRobot <T>();

            robot.Spawn(this);

            var x = _x == -1 ? (_x = Randomizer.Between(1, Width - 1)) : _x + 1;
            var y = _y == -1 ? (_y = Randomizer.Between(1, Height - 2)) : _y;

            Tiles[x, y] = new Tile(this, x, y, false);

            robot.CurrentTile = Tiles[x, y];

            return(robot);
        }
示例#5
0
    /// <summary>
    /// Erstellt die Für den Test nötigen Objekte.
    /// </summary>
    public void TestSolve()
    {
        //Robot1
        GameObject robot1Object = robotManager.CreateRobot(-6, 3);

        robotManager.TurnRobotStartingDirection(robot1Object);
        robotManager.TurnRobotStartingDirection(robot1Object);
        ShreddingTool tool1      = new ShreddingTool(robot1Object.GetComponent <Robot>());
        BasicLeg      leg1       = new BasicLeg(robot1Object.GetComponent <Robot>());
        TextAsset     text       = Resources.Load <TextAsset>("Texts/Robot 1Actions");
        string        scriptCode = text.text;

        robot1Object.GetComponent <Robot>().ChangeScriptCode(scriptCode);

        //Robot2
        GameObject  robot2Object = robotManager.CreateRobot(-7, 5);
        BasicArm    tool2        = new BasicArm(robot2Object.GetComponent <Robot>());
        SpiderLeg   leg2         = new SpiderLeg(robot2Object.GetComponent <Robot>());
        BasicSensor sensor2      = new BasicSensor(robot2Object.GetComponent <Robot>());

        text       = Resources.Load <TextAsset>("Texts/Robot 2Actions");
        scriptCode = text.text;
        robot2Object.GetComponent <Robot>().ChangeScriptCode(scriptCode);

        //Robot3
        GameObject robot3Object = robotManager.CreateRobot(-7, 2);

        robotManager.TurnRobotStartingDirection(robot3Object);
        robotManager.TurnRobotStartingDirection(robot3Object);
        BasicArm     tool3     = new BasicArm(robot3Object.GetComponent <Robot>());
        Boat         leg3      = new Boat(robot3Object.GetComponent <Robot>());
        BasicSensor  sensor3   = new BasicSensor(robot3Object.GetComponent <Robot>());
        GroundSensor sensor3_2 = new GroundSensor(robot3Object.GetComponent <Robot>());

        text       = Resources.Load <TextAsset>("Texts/Robot 3Actions");
        scriptCode = text.text;
        robot3Object.GetComponent <Robot>().ChangeScriptCode(scriptCode);

        //Robot4
        GameObject robot4Object = robotManager.CreateRobot(-7, -2);

        robotManager.TurnRobotStartingDirection(robot4Object);
        robotManager.TurnRobotStartingDirection(robot4Object);
        BasicArm    tool4   = new BasicArm(robot4Object.GetComponent <Robot>());
        BasicLeg    leg4    = new BasicLeg(robot4Object.GetComponent <Robot>());
        BasicSensor sensor4 = new BasicSensor(robot4Object.GetComponent <Robot>());

        text       = Resources.Load <TextAsset>("Texts/Robot 4Actions");
        scriptCode = text.text;
        robot4Object.GetComponent <Robot>().ChangeScriptCode(scriptCode);

        //Robot5
        GameObject robot5Object = robotManager.CreateRobot(-2, -3);

        robotManager.TurnRobotStartingDirection(robot5Object);
        BasicArm    tool5   = new BasicArm(robot5Object.GetComponent <Robot>());
        SpiderLeg   leg5    = new SpiderLeg(robot5Object.GetComponent <Robot>());
        BasicSensor sensor5 = new BasicSensor(robot5Object.GetComponent <Robot>());

        text       = Resources.Load <TextAsset>("Texts/Robot 5Actions");
        scriptCode = text.text;
        robot5Object.GetComponent <Robot>().ChangeScriptCode(scriptCode);

        //Robot6
        GameObject  robot6Object = robotManager.CreateRobot(4, -1);
        WeldingTool tool6        = new WeldingTool(robot6Object.GetComponent <Robot>());
        SpiderLeg   leg6         = new SpiderLeg(robot6Object.GetComponent <Robot>());
        BasicSensor sensor6      = new BasicSensor(robot6Object.GetComponent <Robot>());
        Scanner     sensor6_2    = new Scanner(robot6Object.GetComponent <Robot>());

        text       = Resources.Load <TextAsset>("Texts/Robot 6Actions");
        scriptCode = text.text;
        robot6Object.GetComponent <Robot>().ChangeScriptCode(scriptCode);

        //Robot7
        GameObject robot7Object = robotManager.CreateRobot(0, -1);

        robotManager.TurnRobotStartingDirection(robot7Object);
        robotManager.TurnRobotStartingDirection(robot7Object);
        robotManager.TurnRobotStartingDirection(robot7Object);
        BasicArm    tool7   = new BasicArm(robot7Object.GetComponent <Robot>());
        SpiderLeg   leg7    = new SpiderLeg(robot7Object.GetComponent <Robot>());
        BasicSensor sensor7 = new BasicSensor(robot7Object.GetComponent <Robot>());

        text       = Resources.Load <TextAsset>("Texts/Robot 7Actions");
        scriptCode = text.text;
        robot7Object.GetComponent <Robot>().ChangeScriptCode(scriptCode);
    }