Exemple #1
0
    public void LoadGame()
    {
        FileStream saveFile;

        try
        {
            saveFile = File.Open("savegame", FileMode.Open);
        }
        catch (FileNotFoundException exception)
        {
#if UNITY_EDITOR
            Debug.Log("FileNotFoundException : " + exception.Message);
#endif
            return;
        }

        BinaryFormatter bn     = new BinaryFormatter();
        SavedPlayer     player = bn.Deserialize(saveFile) as SavedPlayer;
        saveFile.Close();
        if (player == null)
        {
#if UNITY_EDITOR
            Debug.Log("player == null");
#endif
            return;
        }
        player.LoadData(GameManager.Instance.Player);
    }
        public void SetPlayer(SavedPlayer savedPlayer)
        {
            if (_savedPlayer != null)
            {
                throw new Exception("Игрок уже назначен");
            }

            _savedPlayer = savedPlayer;
        }
Exemple #3
0
    public void SaveGame()
    {
        SavedPlayer player = new SavedPlayer();

        player.SaveData(GameManager.Instance.Player);
        FileStream      saveFile = File.Open("savegame", FileMode.Create);
        BinaryFormatter bf       = new BinaryFormatter();

        bf.Serialize(saveFile, player);
        saveFile.Close();
    }
    public void saveGame()
    {
        Game      currentGame = GameObject.Find("GameManager").GetComponent <Game>();
        SavedGame savedGame   = new SavedGame();

        // Save the values of the fields of Game
        savedGame.currentPlayer = currentGame.currentPlayer.name;
        savedGame.numberOfTurns = currentGame.numberOfTurns;
        savedGame.PVCExists     = currentGame.PVCExists;
        savedGame.turnState     = currentGame.GetTurnState();

        for (int i = 0; i < currentGame.players.Length; i++)
        {
            Player      player      = currentGame.players[i];
            SavedPlayer playerState = new SavedPlayer();

            // Save the properties directly related to the player
            playerState.name      = player.name;
            playerState.beer      = player.GetBeer();
            playerState.knowledge = player.GetKnowledge();

            playerState.color.Add(player.GetColor().r);
            playerState.color.Add(player.GetColor().g);
            playerState.color.Add(player.GetColor().b);
            playerState.color.Add(player.GetColor().a);

            playerState.human  = player.IsHuman();
            playerState.active = player.IsActive();

            // Save the player's owned sectors
            foreach (Sector sector in player.ownedSectors)
            {
                playerState.sectors.Add(sector.name, sector.GetPVC());
            }

            // Save the player's units
            foreach (Unit unit in player.units)
            {
                SavedUnit playerUnit = new SavedUnit();

                playerUnit.sector = unit.GetSector().name;
                playerUnit.level  = unit.GetLevel();

                playerState.units.Add(playerUnit);
            }

            savedGame.players.Add(player.name, playerState);
        }

        // Save it on the system
        File.WriteAllText(GetPath(), JsonConvert.SerializeObject(savedGame));
    }
        /// <summary>
        /// Сохраняет данные о пользователе в файл
        /// </summary>
        /// <param name="playerData"></param>
        public void SavePlayerData(SavedPlayer playerData)
        {
            if (playerData == null)
            {
                throw new ArgumentNullException(nameof(playerData));
            }

            var bf = new BinaryFormatter();

            using (var dataFile = new FileStream($"{_savesPath}/{PlayerDataFileName}", FileMode.Create))
            {
                bf.Serialize(dataFile, playerData);
            }
        }
Exemple #6
0
    public bool IsPlayerNewHighscore(int score)
    {
        if (highscorePlayers.Count <= maxNumberPlayers || highscorePlayers == null)
        {
            return(true);
        }
        Sort();
        SavedPlayer lowestPlayer = highscorePlayers [highscorePlayers.Count - 1];               //last

        if (lowestPlayer.score < score)
        {
            return(true);
        }
        return(false);
    }
Exemple #7
0
        private void ListPlayer(int x, int page, int playernumber)
        {
            AddPage(page);
            SavedPlayer s_Player = SavedInformation[playernumber - 1] as SavedPlayer;

            if (delete)
            {
                AddButton(208, 172 + (x * 24), 5531, 5530, playernumber, GumpButtonType.Reply, 0);
                AddLabel(290, 172 + (x * 24), 200, s_Player.AllInfo());
            }
            else
            {
                AddButton(208, 172 + (x * 24), 4005, 4006, playernumber, GumpButtonType.Reply, 0);
                AddLabel(245, 172 + (x * 24), 200, s_Player.AllInfo());
            }
        }
Exemple #8
0
    public void Test()
    {
        SavedPlayer p1 = new SavedPlayer(9, "Hi");
        SavedPlayer p2 = new SavedPlayer(3, "AAA");
        SavedPlayer p3 = new SavedPlayer(2, "BB");

        highscorePlayers = new List <SavedPlayer> ();
        highscorePlayers.Add(p1);
        highscorePlayers.Add(p2);
        highscorePlayers.Add(p3);
        highscorePlayers.Sort((x, y) => y.score.CompareTo(x.score));
        for (int i = 0; i < highscorePlayers.Count; i++)
        {
            Debug.Log(highscorePlayers [i].name + " " + highscorePlayers [i].score);
        }
    }
Exemple #9
0
        /// <summary>
        /// Запрос на аутентификацию
        /// </summary>
        /// <returns></returns>
        public async Task <SavedPlayer> Authenticate()
        {
            var playerData = _saveService.GetPlayerData();

            if (playerData == null)
            {
                var response = await _authClient.Token(PlayerNameGenerator.Generate());

                playerData = new SavedPlayer()
                {
                    Name  = response.PlayerName,
                    Token = response.Token,
                    Id    = response.PlayerId
                };

                _saveService.SavePlayerData(playerData);
            }
            else
            {
                if (playerData.Token == null)
                {
                    var response = await _authClient.Token(string.IsNullOrWhiteSpace(playerData.Name)?PlayerNameGenerator.Generate() : playerData.Name);

                    playerData.Token = response.Token;
                    playerData.Name  = response.PlayerName;
                    playerData.Id    = response.PlayerId;

                    _saveService.SavePlayerData(playerData);
                }
                else
                {
                    if (!await _authClient.CheckToken(playerData.Token))
                    {
                        var response = await _authClient.Token(string.IsNullOrWhiteSpace(playerData.Name)?PlayerNameGenerator.Generate() : playerData.Name);

                        playerData.Token = response.Token;
                        playerData.Name  = response.PlayerName;
                        playerData.Id    = response.PlayerId;

                        _saveService.SavePlayerData(playerData);
                    }
                }
            }

            return(playerData);
        }
Exemple #10
0
    public bool AttemptAddPlayer(string playerName, int score)
    {
        if (highscorePlayers.Count < maxNumberPlayers)
        {
            highscorePlayers.Add(new SavedPlayer(score, playerName));
            return(true);
        }
        Sort();
        SavedPlayer lowestPlayer = highscorePlayers [highscorePlayers.Count - 1];               //last

        if (lowestPlayer.score < score)
        {
            highscorePlayers.Add(new SavedPlayer(score, playerName));
            highscorePlayers.Sort((x, y) => y.score.CompareTo(x.score));
            highscorePlayers.RemoveAt(highscorePlayers.Count - 1);
            return(true);
        }
        return(false);
    }
Exemple #11
0
        public override void OnResponse(Server.Network.NetState sender, RelayInfo info)
        {
            if ((SavedInformation.Count > 0) && (info.ButtonID != 0))
            {
                try
                {
                    SavedPlayer s_Player = SavedInformation[info.ButtonID - 1] as SavedPlayer;

                    if (s_Player == null)
                    {
                        m_Player.SendMessage("Non-existant memory item!");
                        return;
                    }

                    if (delete)
                    {
                        m_Player.SendMessage("{0} has been removed from the stone.", s_Player.GetName());
                        m_Stone.DeleteEntry(info.ButtonID - 1, m_Player);
                    }
                    else
                    {
                        m_Player.Target = new RestoreTarget(s_Player, m_Stone);
                        m_Player.SendMessage("To whom do you wish to restore the information of {0}", s_Player.GetName());
                    }
                }

                catch
                {
                    m_Player.SendMessage("An error occured, the memory item for the player has likely been removed.");
                }
            }
            else
            {
                m_Player.SendMessage("Request cancelled.");
            }
        }
Exemple #12
0
 public Client(int id, NetPeer peer, SavedPlayer player)
 {
     this.id     = id;
     this.peer   = peer;
     this.player = player;
 }
Exemple #13
0
 public RestoreTarget(SavedPlayer item, StoneOfSaving stone) : base(-1, false, TargetFlags.None)
 {
     s_Player = item;
     m_Stone  = stone;
 }