Esempio n. 1
0
    public void NewGameState(string gameStateString)
    {
        // Convert the string to our DTO format.
        GameStateDTO gameState = ConvertJSONtoDTO(gameStateString);

        // Check if this is the first game-state event received. If so, set
        // up the terrain and don't do it ever again.
        if (gameStateEventCount == 1)
        {
            TerrainGenerator terrainGenerator = new TerrainGenerator();
            int width  = terrainGenerator.CalculateWidthFromGameState(gameState);
            int height = terrainGenerator.CalculateHeightFromGameState(gameState);

            TerrainDTO terrainDTO = new TerrainDTO(width, height);
            terrainGenerator.GenerateTerrainMMO(terrainDTO);

            OverlayGenerator overlayGenerator = new OverlayGenerator(terrainFolder: terrainGenerator.terrainFolder);
            overlayGenerator.GenerateGridForTerrain(terrainDTO);

            // Generate the obstacles only on initial game creation. Don't duplicate.
            ObstacleDTO[] obstacles = gameState.obstacles;
            obstacleManager.UpdateFeatures(obstacles);
        }

        RenderGameState(gameState);

        gameStateEventCount++;
    }
Esempio n. 2
0
 private void DisplayTerrainSizeInputs()
 {
     EditorGUILayout.BeginHorizontal();
     EditorGUI.BeginChangeCheck();
     terrainSize = EditorGUILayout.Vector2IntField("Size", terrainSize);
     if (EditorGUI.EndChangeCheck())
     {
         TerrainDTO terrainDTO = new TerrainDTO(terrainSize.x, terrainSize.y);
         terrainGenerator.GenerateTerrain(terrainDTO);
         overlayGenerator.GenerateGridForTerrain(terrainDTO);
     }
     EditorGUILayout.EndHorizontal();
 }
Esempio n. 3
0
        public void TestGridGeneratedByDTO()
        {
            SetUpMainScene();

            TerrainDTO       terrainDTO       = new TerrainDTO(81, 2);
            GameObject       terrainFolder    = new GameObject();
            OverlayGenerator overlayGenerator = new OverlayGenerator(terrainFolder: terrainFolder);

            GameObject generatedGrid = overlayGenerator.GenerateGridForTerrain(terrainDTO);

            Assert.AreEqual(generatedGrid.transform.parent, terrainFolder.transform);
            Assert.AreEqual(generatedGrid.transform.name, "overlay_grid(Clone)");

            Assert.AreEqual(generatedGrid.transform.transform.localPosition.x, 0);
            Assert.AreEqual(generatedGrid.transform.transform.localPosition.y, 0.01f);
            Assert.AreEqual(generatedGrid.transform.transform.localPosition.z, 0);
            Assert.AreEqual(
                generatedGrid.GetComponent <Renderer>().sharedMaterial.mainTextureScale,
                new Vector2(81, 2)
                );
        }
Esempio n. 4
0
    private void CreateGrid()
    {
        OverlayGenerator overlayGenerator = new OverlayGenerator(terrainFolder: terrainFolder);

        overlayGenerator.GenerateGridForTerrain(DEFAULT_TERRAIN);
    }