public Training SetModifier(PlayerData.PP pref, float value, bool makeNewIfNone = true) { if (value < 0 || 1 < value) { throw new ArgumentOutOfRangeException("Value should be between 0 to 1."); } if (modifier.ContainsKey(pref)) { modifier[pref] = value; return(this); } else { if (makeNewIfNone) { modifier.Add(pref, value); return(this); } else { throw new NullReferenceException("There is no such value named as " + pref.ToString() + "."); } } }
//Member functions public float GetPrefAverage(PlayerData.PP pref, List <KeyValuePair <int, Player> > players) { float sum = 0; bool isInSerializableDictPref = false; foreach (KeyValuePair <PlayerData.PP, List <PlayerData.PP> > prefPair in PlayerData.serializableDictPrefs) { if (prefPair.Value.Contains(pref)) { isInSerializableDictPref = true; break; } } foreach (KeyValuePair <int, Player> player in players) { if (isInSerializableDictPref) { sum += player.Value.playerData.GetDictData(pref); } else { sum += player.Value.playerData.GetData(pref); } } return(sum / players.Count); }
//Instantiates effect prefab. public void EffectInstantiate(PlayerData.PP pref, int days) { GameObject effectObject = Instantiate(effectPanel, TP_effectContent.transform); effectObject.transform.GetChild(0).GetChild(0).GetComponent <TextMeshProUGUI>().text = PlayerData.PPString[(int)PlayerData.FindSerializablePP(pref)]; effectObject.transform.GetChild(1).GetComponent <TextMeshProUGUI>().text = PlayerData.PPString[(int)pref]; effectObject.transform.GetChild(2).GetComponent <TextMeshProUGUI>().text = days.ToString() + " Days"; }
public float GetModifier(PlayerData.PP pref) { if (modifier.ContainsKey(pref)) { return(modifier[pref]); } else { throw new NullReferenceException("There is no such value named as " + pref.ToString() + "."); } }
//Member functions public float GetPrefAverage(PlayerData.PP pref) { float sum = 0; foreach (KeyValuePair <int, Team> teamPair in teams.d) { sum += teamPair.Value.GetPrefAverage(pref, teamPair.Value.players.d); } return(sum / teams.d.Count); }