public PlayerPreference GetPreference(string ipAddress) { Validate.NotNull(ipAddress); if (state.Preferences.TryGetValue(ipAddress, out PlayerPreference preference)) { return(preference.Clone()); } if (state.LastSetPlayerPreference != null) { return(state.LastSetPlayerPreference.Clone()); } Color playerColor = RandomColorGenerator.GenerateColor().ToUnity(); PlayerPreference defaultPlayerPreference = new PlayerPreference(playerColor); state.LastSetPlayerPreference = defaultPlayerPreference; return(defaultPlayerPreference); }
public void SetPreference(string ipAddress, PlayerPreference playerPreference) { Validate.NotNull(ipAddress); Validate.NotNull(playerPreference); if (state.Preferences.ContainsKey(ipAddress)) { PlayerPreference currentPreference = state.Preferences[ipAddress]; if (currentPreference.Equals(playerPreference)) { return; } state.Preferences[ipAddress] = playerPreference; state.LastSetPlayerPreference = playerPreference; return; } state.Preferences.Add(ipAddress, playerPreference); state.LastSetPlayerPreference = playerPreference; }
public static Color PreferredColor(this PlayerPreference playerPreference) { return(new Color(playerPreference.RedAdditive, playerPreference.GreenAdditive, playerPreference.BlueAdditive)); }