コード例 #1
0
    /// <summary>
    /// starts new editor session and loads terrain preset
    /// </summary>
    public static GameStartSettings GetEditorStartSettings(string i_savename)
    {
        var cgs = new GameStartSettings();

        cgs.gameMode = GameMode.Editor;
        cgs.chunkGenerationSettings = ChunkGenerationSettings.GetLoadingSettings(i_savename);
        return(cgs);
    }
コード例 #2
0
    public static GameStartSettings GetEditorStartSettings(byte i_size)
    {
        var cgs = new GameStartSettings();

        cgs.gameMode = GameMode.Editor;
        cgs.chunkGenerationSettings = ChunkGenerationSettings.GetGenerationSettings(ChunkGenerationMode.EditorPreset, i_size);
        return(cgs);
    }
コード例 #3
0
    public static GameStartSettings GetDefaultStartSettings()
    {
        var cgs = new GameStartSettings();

        cgs.gameMode = GameMode.Survival;
        cgs.chunkGenerationSettings = ChunkGenerationSettings.GetDefaultSettings();
        cgs.subIndex0 = (byte)StartFoundingType.Zeppelin;
        return(cgs);
    }
コード例 #4
0
    public static GameStartSettings GetLoadingSettings(GameMode i_gameMode, string i_savename)
    {
        var cgs = new GameStartSettings();

        cgs.gameMode = i_gameMode;
        cgs.loadGame = true;
        cgs.chunkGenerationSettings = ChunkGenerationSettings.GetNoActionSettings();
        cgs.savename = i_savename;
        return(cgs);
    }
コード例 #5
0
    public static GameStartSettings GetModeChangingSettings(GameMode newMode, Difficulty i_difficulty, StartFoundingType i_foundingType)
    {
        var cgs = new GameStartSettings();

        cgs.gameMode = newMode;
        cgs.chunkGenerationSettings = ChunkGenerationSettings.GetNoActionSettings();
        cgs.difficulty = i_difficulty;
        cgs.subIndex0  = (byte)i_foundingType;
        return(cgs);
    }
コード例 #6
0
    public static GameStartSettings GetStartSettings(GameMode i_mode, ChunkGenerationSettings i_chunkSettings, Difficulty i_difficulty, StartFoundingType i_start)
    {
        var cgs = new GameStartSettings();

        cgs.gameMode = i_mode;
        cgs.chunkGenerationSettings = i_chunkSettings;
        cgs.difficulty = i_difficulty;
        cgs.subIndex0  = (byte)i_start;
        return(cgs);
    }
コード例 #7
0
    public static Chunk ConstructChunk(ChunkGenerationSettings cgs)
    {
        int size = cgs.GetChunkSize();

        int[,,] dat = new int[size, size, size];
        switch (cgs.DefineGenerationMode())
        {
        case ChunkGenerationMode.Standart: GenerateSpiralsData(size, ref dat); break;

        case ChunkGenerationMode.Cube: GeneratePyramidData(size, ref dat); break;

        case ChunkGenerationMode.Peak:
            dat = GeneratePeakData(size);
            GameMaster.realMaster?.environmentMaster?.PrepareIslandBasis(ChunkGenerationMode.Peak);
            break;
        }

        //testzone

        /*
         * dat = new int[size, size, size];
         * var ac = PoolMaster.MATERIAL_WHITE_METAL_ID;
         * for (int x = 0; x < 3; x++)
         * {
         *  for (int z = 0; z < 3; z++)
         *  {
         *      for (int y = 0; y < 3; y++)
         *      {
         *          dat[x, y, z] = ac;
         *      }
         *  }
         * }
         */
        //eo testzone

        var c = Chunk.InitializeChunk();

        c.Rebuild(dat);
        //CheckForLandingPosition(c);
        c.RenderDataFullRecalculation();
        return(c);
    }
コード例 #8
0
 public ChunkGenerationSettings GetChunkGenerationSettings()
 {
     return(chunkGenerationSettings ?? ChunkGenerationSettings.GetDefaultSettings());
 }
コード例 #9
0
    public void StartGame()
    {
        ChunkGenerationSettings cgs = null;

        switch (chunkPrepareAction)
        {
        case ChunkPreparingAction.Generate: cgs = ChunkGenerationSettings.GetGenerationSettings(chunkGenerationMode, (byte)sizeSlider.value); break;

        case ChunkPreparingAction.Load: cgs = ChunkGenerationSettings.GetLoadingSettings(selectedSaveName); break;

        default: cgs = ChunkGenerationSettings.GetNoActionSettings(); break;
        }
        //

        //
        switch (selectedGameMode)
        {
        case GameMode.Survival:
        {
            if (GameConstants.NeedTutorialNote())
            {
                askWindowText.text   = Localization.GetPhrase(LocalizedPhrase.AskNeedTutorial);
                askWindow_left.text  = Localization.GetWord(LocalizedWord.Tutorial);
                askWindow_leftAction = () => {
                    GameMaster.StartNewGame(GameStartSettings.GetTutorialSettings());
                    askWindow.SetActive(false);
                };
                askWindow_right.text  = Localization.GetWord(LocalizedWord.Cancel);
                askWindow_rightAction = () =>
                {
                    GameConstants.DisableTutorialNote();
                    this.StartGame();
                    askWindow.SetActive(false);
                };
                askWindow.SetActive(true);
                return;
            }
            //
            GameMaster.StartNewGame(
                GameStartSettings.GetStartSettings(GameMode.Survival, cgs, (Difficulty)difficultyDropdown.value, StartFoundingType.Zeppelin)
                );
            break;
        }

        case GameMode.Editor:
        {
            GameMaster.StartNewGame(
                GameStartSettings.GetStartSettings(GameMode.Editor, cgs, (Difficulty)difficultyDropdown.value, StartFoundingType.Zeppelin)
                );
            break;
        }

        case GameMode.Scenario:
        {
            if (ng_selectedScenarioIndex != -1)
            {
                GameMaster.StartNewGame(
                    scenariosRepresentators[ng_selectedScenarioIndex].GetStartSettings()
                    );
            }
            break;
        }
        }
    }