public int GetValue( STAT_ENTRY entry ) { STAT_COMBINE_METHOD combineMethod = StatsEntryData.instance.GetCombineMethod (entry); switch (combineMethod) { case STAT_COMBINE_METHOD.ADD: { int val = GetBaseValue( entry ); foreach ( List<StatsList> listOfLists in m_ModifierLists ) { foreach ( StatsList statsList in listOfLists ) { val += statsList.GetBaseValue( entry ); } } return val; } case STAT_COMBINE_METHOD.BASE: default: return GetBaseValue(entry); } }
public int GetBaseValue( STAT_ENTRY entry ) { return m_Base.ContainsKey( entry ) ? m_Base[entry] : 0; }
public Stat( STAT_ENTRY entry, int value ) { m_Entry = entry; m_Value = value; }
public void SetBaseValue( STAT_ENTRY entry, int value ) { m_Base[entry] = value; }
private EntryData GetEntryData( STAT_ENTRY entry ) { return m_Dict.ContainsKey( entry ) ? m_Dict[ entry ] : m_Default; }
public STAT_COMBINE_METHOD GetCombineMethod( STAT_ENTRY entry ) { // If the entry isn't in the dictionary, it should use the default method EntryData entryData = GetEntryData( entry ); return entryData.m_Method; }