示例#1
0
    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() + ".");
            }
        }
    }
示例#2
0
    //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);
    }
示例#3
0
    //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";
    }
示例#4
0
 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() + ".");
     }
 }
示例#5
0
    //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);
    }