public static MissionBonus FromRecrod(IDataRecord record) { var character = Character.Get(record.GetValue <int>("characterid")); var category = (MissionCategory)record.GetValue <int>("missioncategory"); var level = record.GetValue <int>("missionlevel"); var agentId = record.GetValue <int>("agentid"); var bonus = record.GetValue <int>("bonus"); var agent = _missionDataCache.GetAgent(agentId); var mb = new MissionBonus(character, category, level, agent, bonus); return(mb); }
public bool GetBonusWithConditions(MissionCategory missionCategory, int missionLevel, MissionAgent agent, out MissionBonus missionBonus) { var key = MissionBonus.GetKey(missionCategory, missionLevel, agent.id); return(_bonuses.TryGetValue(key, out missionBonus)); }
public void RemoveBonus(MissionBonus missionBonus) { _bonuses.Remove(missionBonus.Key); }
public void AddBonus(MissionBonus missionBonus) { _bonuses.AddOrUpdate(missionBonus.Key, v => missionBonus, (k, v) => missionBonus); }