Esempio n. 1
0
            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);
                    });
                }
            }
Esempio n. 2
0
        public static AncillaryDto ToDto(this Ancillary code)
        {
            var dto = new AncillaryDto
            {
                ProdutCodeId = code.ProdutCodeId,
                ItemId       = code.ItemId
            };

            ((IData)code).ToDto((IDataDto)dto);
            return(dto);
        }
Esempio n. 3
0
        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);
        }