public override void Initialise(params VirtualDirectory[] db) { DBFile[] anceffecttables = EsfLibraryExtension.getDBFiles(GameInfo.ancillary_to_effects_tables, db); foreach (var anceffecttable in anceffecttables) { Parallel.ForEach(anceffecttable.Entries, anceffect => { string id = anceffect["ancillary"].Value; string effectid = anceffect["effect"].Value; string scopeid = anceffect["effect_scope"].Value; string value = anceffect["value"].Value; GameItemsWithEffects ancillary; lock (this) if (ContainsKey(id)) { ancillary = this[id] as GameItemsWithEffects; } else { ancillary = new Ancillary() { name = id }; Add(id, ancillary); } ancillary.addEffect(effectid, value, scopeid); }); } }
public static AncillaryDto ToDto(this Ancillary code) { var dto = new AncillaryDto { ProdutCodeId = code.ProdutCodeId, ItemId = code.ItemId }; ((IData)code).ToDto((IDataDto)dto); return(dto); }
public static Ancillary ToDomain(this AncillaryDto code, Ancillary originalCode = null) { if (originalCode != null && originalCode.Id == code.Id) { originalCode.ProdutCodeId = code.ProdutCodeId; originalCode.ItemId = code.ItemId; ((IDataDto)code).ToDomain((IData)originalCode); return(originalCode); } var data = new Ancillary { ProdutCodeId = code.ProdutCodeId, ItemId = code.ItemId }; ((IDataDto)code).ToDomain((IData)data); return(data); }