コード例 #1
0
    private IEnumerator LoadGame()
    {
        // Wait 1 frame
        yield return(0);

        var res = PlayerPrefs.GetInt(PlayerPrefsKeys.HasActiveGame.ToString());

        if (res == 1 && DebugUseLoadedGame)
        {
            TownModel.Instance.FromData(
                LoadSaveGame.LoadGameData()
                );
        }
    }
コード例 #2
0
    private void InterpretCommand(string command)
    {
        if (string.IsNullOrEmpty(command))
        {
            return;
        }

        var parts = command.Split(' ').ToList();
        var head  = GetCommandHead(parts);

        // spawn
        if (head.StartsWith("sp"))
        {
            InterpretSpawnCommand(parts);
            return;
        }

        // sleep
        if (head.StartsWith("sl"))
        {
            _timeToSleep = float.Parse(GetCommandHead(parts));
            return;
        }

        // order
        if (head.StartsWith("o"))
        {
            var secondPart = GetCommandHead(parts);
            if (secondPart.StartsWith("p"))
            {
                var pos = GetPos(parts);
                _townController.PushNewOrder(OrderType.PlantWheat, pos);
                return;
            }

            return;
        }

        // fastforward (ff)
        if (head.StartsWith("f"))
        {
            var secondPart = GetCommandHead(parts);
            var speed      = int.Parse(secondPart);
            GameApplication.Instance.ChangeTimeSpeed(speed);
            return;
        }

        // save
        if (head.StartsWith("sav"))
        {
            LoadSaveGame.SaveGameData();
            return;
        }

        // reload
        if (head.StartsWith("rel"))
        {
            LoadSaveGame.Instance.ReloadGame();
            return;
        }

        // reset
        if (head.StartsWith("res"))
        {
            LoadSaveGame.Instance.ResetGame();
            return;
        }

        // erase
        if (head.StartsWith("er"))
        {
            LoadSaveGame.Instance.EraseGame();
            return;
        }

        // add
        if (head.StartsWith("add"))
        {
            var          secondPart = GetCommandHead(parts);
            DropItemType type;
            // meat
            if (secondPart.StartsWith("m"))
            {
                type = DropItemType.Meat;
            }
            else if (secondPart.StartsWith("b"))
            {
                type = DropItemType.Bread;
            }
            else
            {
                Debug.LogError($"DropItemType {secondPart} not supported");
                return;
            }

            var ammountString = GetCommandHead(parts);
            var ammount       = uint.Parse(ammountString);
            _townController.AddToStorage(type, ammount);
            return;
        }

        Debug.LogError("Unrecognized command " + command);
    }
コード例 #3
0
 public void GoToMainMenu()
 {
     LoadSaveGame.SaveGameData();
     PlayerPrefs.SetInt(PlayerPrefsKeys.HasActiveGame.ToString(), 1);
     LevelManager.Instance.RestartGame();
 }