public void SetConstantStat(gamedataStatType stat, float value, GameSavedStatsData statsData) { var foundStat = false; foreach (Handle <GameStatModifierData> modifier in statsData.StatModifiers) { if (modifier.Value.GetType() == typeof(GameConstantStatModifierData)) { if (((GameConstantStatModifierData)modifier.Value).StatType == stat) { ((GameConstantStatModifierData)modifier.Value).Value = value; foundStat = true; } } } if (!foundStat) { var newModifierData = new GameConstantStatModifierData(); newModifierData.ModifierType = gameStatModifierType.Additive; newModifierData.StatType = stat; newModifierData.Value = value; this.AddStat(typeof(GameConstantStatModifierData), statsData, newModifierData); } }
public void SetConstantStat(gamedataStatType stat, float value, gameSavedStatsData statsData, gameStatModifierType mod = gameStatModifierType.Additive) { var foundStat = false; foreach (gameStatModifierData_Deprecated modifier in statsData.StatModifiers) { if (modifier is gameConstantStatModifierData_Deprecated constantModifier) { if (constantModifier.StatType == stat && constantModifier.ModifierType == mod) { constantModifier.Value = value; foundStat = true; } } } if (!foundStat) { var newModifierData = new gameConstantStatModifierData_Deprecated { ModifierType = mod, StatType = stat, Value = value }; this.AddStat(typeof(gameConstantStatModifierData_Deprecated), statsData, newModifierData); } }