Ejemplo n.º 1
0
 public RecruitingSessionImpl(IUserProfile currentRecruitProfile, IPlayerProfile playerProfile, IMessagingPlatform platform, IGameManager manager)
 {
     this.currentRecruitProfile = currentRecruitProfile;
     this.playerProfile         = playerProfile;
     this.platform    = platform;
     this.gameManager = manager;
 }
 /// <summary>
 /// Create new player profile, if not exist already, and save updated list of available players on PlayerPrefs.
 /// </summary>
 /// <param name="_newPlayer"></param>
 /// <param name="_extProfile"></param>
 /// <returns></returns>
 public IPlayerProfile CreateNewPlayer(IPlayerProfile _newPlayer, IPlayerExtendedProfile _extProfile = null)
 {
     if (!Options.AvailablePlayers.Exists(p => p == _newPlayer.Key))
     {
         Options.AvailablePlayers.Add(_newPlayer.Key);
         SavePlayerSettings(_newPlayer);
         SaveAllOptions();
     }
     return(_newPlayer);
 }
        /// <summary>
        /// Create a new profile with data filled in UI form and set newly profile as active.
        /// </summary>
        /// <param name="closeWindow">If true close this window after creation.</param>
        public void CreateNewPlayerProfile(bool closeWindow)
        {
            IPlayerProfile newPP = GameManager.Instance.PlayerProfile.CreateNewPlayer(new PlayerProfile()
            {
                Key = Username.text,
            });

            if (closeWindow)
            {
                GameManager.Instance.UIModule.HideUIContainer(Key);
            }
            GameManager.Instance.PlayerProfile.SetActivePlayer <PlayerProfile>(newPP.Key);
        }
        /// <summary>
        /// Save player settings on PlayerPrefs (do not update list of players and global options).
        /// </summary>
        /// <param name="_newPlayer"></param>
        /// <param name="_extProfile"></param>
        public void SavePlayerSettings(IPlayerProfile _newPlayer, IPlayerExtendedProfile _extProfile = null)
        {
            string storeKey       = GetStoreKeyForPlayer(_newPlayer.Key);
            string serializedObjs = JsonUtility.ToJson(_newPlayer);

            if (serializedObjs != null)
            {
                PlayerPrefs.SetString(storeKey, serializedObjs);
            }
            else
            {
                Debug.Log("Unable to serialize player profile : " + _newPlayer.Key);
            }
            PlayerPrefs.Save();
        }
 /// <summary>
 /// Load player settings.
 /// </summary>
 /// <param name="_playerId"></param>
 public IPlayerProfile LoadPlayerSettings <T>(string _playerId) where T : IPlayerProfile
 {
     if (PlayerPrefs.HasKey(GetStoreKeyForPlayer(_playerId)))
     {
         string         serializableProfile = PlayerPrefs.GetString(GetStoreKeyForPlayer(_playerId));
         IPlayerProfile returnProfile       = JsonUtility.FromJson <T>(serializableProfile);
         returnProfile.Key = _playerId;
         return(returnProfile);
     }
     else
     {
         Debug.LogFormat("Profile {0} not found.", _playerId);
     }
     return(null);
 }
        /// <summary>
        /// Set the active player.
        /// </summary>
        /// <param name="_playerId"></param>
        public void SetActivePlayer <T>(string _playerId) where T : IPlayerProfile
        {
            if (!Options.AvailablePlayers.Exists(p => p == _playerId)) // If player is not in active players list...
            {
                return;
            }
            IPlayerProfile pp = LoadPlayerSettings <T>(_playerId);

            if (pp == null)
            {
                Debug.LogError("Player not found");
            }
            else
            {
                ActivePlayer = pp;
            }
        }
Ejemplo n.º 7
0
 /// <summary>
 /// Init component ui with player data.
 /// </summary>
 /// <param name="_player"></param>
 public void Init(IPlayerProfile _player)
 {
     Player = _player;
     ProfileIDLable.text = Player.Key;
 }
Ejemplo n.º 8
0
 /// <summary>
 /// Create new player with informations provided.
 /// </summary>
 /// <param name="_newPlayer"></param>
 /// <param name="_extProfile"></param>
 /// <returns>Player created or null if player with user id already exist.</returns>
 public IPlayerProfile CreateNewPlayer(IPlayerProfile _newPlayer, IPlayerExtendedProfile _extProfile = null)
 {
     return(ConcreteModuleImplementation.CreateNewPlayer(_newPlayer, _extProfile));
 }
Ejemplo n.º 9
0
 /// <summary>
 /// Save player settins.
 /// </summary>
 /// <param name="_newPlayer"></param>
 /// <param name="_extProfile"></param>
 public void SavePlayerSettings(IPlayerProfile _newPlayer, IPlayerExtendedProfile _extProfile = null)
 {
     ConcreteModuleImplementation.SavePlayerSettings(_newPlayer, _extProfile);
 }
 public Add(IPlayerProfile profile)
 {
     // Use profile.PlayerScore
 }
 /// <summary>
 /// Update player settings (and if, extended profile).
 /// </summary>
 /// <param name="_newPlayer"></param>
 /// <param name="_extProfile"></param>
 /// <returns></returns>
 public IPlayerProfile UpdatePlayer(IPlayerProfile _newPlayer, IPlayerExtendedProfile _extProfile = null)
 {
     SavePlayerSettings(_newPlayer);
     return(_newPlayer);
 }