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; } }
/// <summary> /// Init component ui with player data. /// </summary> /// <param name="_player"></param> public void Init(IPlayerProfile _player) { Player = _player; ProfileIDLable.text = Player.Key; }
/// <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)); }
/// <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); }