示例#1
0
        protected Item(JSONProxy.Item item)
        {
            this.Verified     = item.Verified;
            this.Identified   = item.Identified;
            this.W            = item.W;
            this.H            = item.H;
            this.IconURL      = item.Icon;
            this.League       = item.League;
            this.Name         = item.Name;
            this.TypeLine     = item.TypeLine;
            this.DescrText    = item.DescrText;
            this.X            = item.X;
            this.Y            = item.Y;
            this.inventoryId  = item.InventoryId;
            this.SecDescrText = item.SecDescrText;
            this.Explicitmods = item.ExplicitMods;
            this.ItemType     = Model.ItemType.UnSet;
            if (item.Properties != null)
            {
                this.Properties = item.Properties.Select(p => new Property(p)).ToList();

                if (this.Properties.Any(p => p.Name == "Quality"))
                {
                    this.IsQuality = true;
                    this.Quality   = ProxyMapper.GetQuality(item.Properties);
                }
            }
            this.Corrupted = item.Corrupted;
        }
示例#2
0
 public Map(JSONProxy.Item item) : base(item)
 {
     ItemType = Model.ItemType.Gear;
     Properties = ProxyMapper.GetProperties(item.Properties);
     Rarity = getRarity(item);
     MapTier = int.Parse(Properties.Find(p => p.Name == "Map Tier").Values[0].Item1);
 }
示例#3
0
        public Gem(JSONProxy.Item item) : base(item)
        {
            this.Properties = ProxyMapper.GetProperties(item.Properties);
            this.ItemType   = ItemType.Gem;

            this.Level = getLevel();
        }
示例#4
0
        internal Map(JSONProxy.Item item) : base(item)
        {
            this.ItemType   = Model.ItemType.Gear;
            this.Properties = ProxyMapper.GetProperties(item.Properties);
            this.Rarity     = getRarity(item);
            this.MapTier    = int.Parse(Properties.Find(p => p.Name == "Map Tier").Values[0].Item1);

            this.UniqueIDHash = base.getHash();
        }
示例#5
0
        public Gem(JSONProxy.Item item) : base(item)
        {
            Properties = ProxyMapper.GetProperties(item.Properties);
            ItemType   = ItemType.Gem;

            Level = getLevel();

            ExtractGemExperience(item);
        }
示例#6
0
        protected Item(JSONProxy.Item item)
        {
            Id            = item.Id;
            Verified      = item.Verified;
            Identified    = item.Identified;
            IsMirrored    = item.Duplicated;
            W             = item.W;
            H             = item.H;
            IconURL       = getIconUrl(item.Icon);
            League        = item.League;
            Name          = item.Name;
            TypeLine      = item.TypeLine;
            DescrText     = item.DescrText;
            X             = item.X;
            Y             = item.Y;
            InventoryId   = item.InventoryId;
            SecDescrText  = item.SecDescrText;
            Explicitmods  = item.ExplicitMods;
            ItemType      = Model.ItemType.UnSet;
            CraftedMods   = item.CraftedMods ?? new List <string>();
            VeiledMods    = item.VeiledMods ?? new List <string>();
            EnchantMods   = item.EnchantMods ?? new List <string>();
            FracturedMods = item.FracturedMods ?? new List <string>();
            FlavourText   = item.FlavourText;
            ItemLevel     = item.Ilvl;
            Shaper        = item.Shaper;
            Elder         = item.Elder;
            Synthesised   = item.Synthesised;
            Fractured     = item.Fractured;
            StackSize     = item.StackSize;
            MaxStackSize  = item.MaxStackSize;

            if (item.Properties != null)
            {
                Properties = item.Properties.Select(p => new Property(p)).ToList();

                if (Properties.Any(p => p.Name == "Quality"))
                {
                    IsQuality = true;
                    Quality   = ProxyMapper.GetQuality(item.Properties);
                }
            }

            Corrupted         = item.Corrupted;
            Microtransactions = item.CosmeticMods ?? new List <string>();
            EnchantMods       = item.EnchantMods ?? new List <string>();

            TradeX           = X;
            TradeY           = Y;
            TradeInventoryId = InventoryId;
            Character        = string.Empty;

            if (item.Elder || item.Shaper)
            {
                BackgroundUrl = ItemBackgroundUrlBuilder.GetUrl(this);
            }
        }
示例#7
0
        public Gem(JSONProxy.Item item) : base(item)
        {
            this.Properties = ProxyMapper.GetProperties(item.Properties);
            this.ItemType   = Model.ItemType.Gem;

            this.Socket       = item.Socket;
            this.Color        = item.Color;
            this.Requirements = ProxyMapper.GetRequirements(item.Requirements);
            this.Level        = getLevel();
        }
示例#8
0
        public Gem(JSONProxy.Item item) : base(item)
        {
            this.Properties = ProxyMapper.GetProperties(item.Properties);
            this.ItemType   = Model.ItemType.Gem;

            this.Socket       = item.Socket;
            this.Color        = item.Color;
            this.Requirements = ProxyMapper.GetRequirements(item.Requirements);

            this.UniqueIDHash = base.getHash();
        }
示例#9
0
 public Gear(JSONProxy.Item item) : base(item)
 {
     Sockets       = GetSockets(item);
     Explicitmods  = item.ExplicitMods;
     SocketedItems = GetSocketedItems(item);
     Implicitmods  = item.ImplicitMods;
     Requirements  = ProxyMapper.GetRequirements(item.Requirements);
     ItemType      = Model.ItemType.Gear;
     GearType      = GearTypeFactory.GetType(this);
     BaseType      = GearTypeFactory.GetBaseType(this);
 }
示例#10
0
 public Gear(JSONProxy.Item item) : base(item)
 {
     this.Rarity        = getRarity(item);
     this.Sockets       = getSockets(item);
     this.Explicitmods  = item.ExplicitMods;
     this.SocketedItems = getSocketedItems(item);
     this.Implicitmods  = item.ImplicitMods;
     this.Requirements  = ProxyMapper.GetRequirements(item.Requirements);
     this.ItemType      = Model.ItemType.Gear;
     this.GearType      = GearTypeFactory.GetType(this);
     this.BaseType      = GearTypeFactory.GetBaseType(this);
 }
示例#11
0
 internal Gear(JSONProxy.Item item) : base(item)
 {
     this.Rarity        = getRarity(item);
     this.FlavourText   = item.FlavourText;
     this.Sockets       = item.Sockets.Select(proxy => new Socket(proxy)).ToList();
     this.Explicitmods  = item.ExplicitMods;
     this.SocketedItems = item.SocketedItems.Select(proxy => (Gem)ItemFactory.Get(proxy)).ToList();
     this.Implicitmods  = item.ImplicitMods;
     this.Requirements  = ProxyMapper.GetRequirements(item.Requirements);
     this.ItemType      = Model.ItemType.Gear;
     this.GearType      = GearTypeFactory.GetType(this);
     this.BaseType      = GearTypeFactory.GetBaseType(this);
 }
示例#12
0
        internal Stash(JSONProxy.Stash proxy)
        {
            if (proxy.Items == null)
            {
                items        = new List <Item>();
                NumberOfTabs = 0;
                return;
            }

            items             = proxy.Items.Select(item => ItemFactory.Get(item)).ToList();
            this.NumberOfTabs = proxy.NumTabs;
            this.Tabs         = ProxyMapper.GetTabs(proxy.Tabs);
        }
示例#13
0
 public Tab(JSONProxy.Tab t)
 {
     this.Colour = new Colour()
     {
         b = t.colour.b, g = t.colour.g, r = t.colour.r
     };
     i      = t.i;
     Name   = t.n;
     srcR   = getUrl(t.srcR);
     srcC   = getUrl(t.srcC);
     srcL   = getUrl(t.srcL);
     Hidden = t.hidden;
     Type   = ProxyMapper.GetTabType(t.type);
 }
示例#14
0
文件: Item.cs 项目: fqrwx/Procurement
        protected Item(JSONProxy.Item item)
        {
            this.Id           = item.Id;
            this.Verified     = item.Verified;
            this.Identified   = item.Identified;
            this.IsMirrored   = item.Duplicated;
            this.W            = item.W;
            this.H            = item.H;
            this.IconURL      = getIconUrl(item.Icon);
            this.League       = item.League;
            this.Name         = item.Name;
            this.TypeLine     = item.TypeLine;
            this.DescrText    = item.DescrText;
            this.X            = item.X;
            this.Y            = item.Y;
            this.InventoryId  = item.InventoryId;
            this.SecDescrText = item.SecDescrText;
            this.Explicitmods = item.ExplicitMods;
            this.ItemType     = Model.ItemType.UnSet;
            this.CraftedMods  = item.CraftedMods ?? new List <string>();
            this.VeiledMods   = item.VeiledMods ?? new List <string>();
            this.EnchantMods  = item.EnchantMods ?? new List <string>();
            this.FlavourText  = item.FlavourText;
            this.ItemLevel    = item.Ilvl;
            this.Shaper       = item.Shaper;
            this.Elder        = item.Elder;
            this.StackSize    = item.StackSize;
            this.MaxStackSize = item.MaxStackSize;

            if (item.Properties != null)
            {
                this.Properties = item.Properties.Select(p => new Property(p)).ToList();

                if (this.Properties.Any(p => p.Name == "Quality"))
                {
                    this.IsQuality = true;
                    this.Quality   = ProxyMapper.GetQuality(item.Properties);
                }
            }

            this.Corrupted         = item.Corrupted;
            this.Microtransactions = item.CosmeticMods ?? new List <string>();
            this.EnchantMods       = item.EnchantMods ?? new List <string>();

            this.TradeX           = this.X;
            this.TradeY           = this.Y;
            this.TradeInventoryId = this.InventoryId;
            this.Character        = string.Empty;
        }
示例#15
0
        internal Stash(JSONProxy.Stash proxy)
        {
            if (proxy.Items == null)
            {
                items        = new List <Item>();
                NumberOfTabs = 0;
                return;
            }

            items             = proxy.Items.Select(item => ItemFactory.Get(item)).ToList();
            this.NumberOfTabs = proxy.NumTabs;
            this.Tabs         = ProxyMapper.GetTabs(proxy.Tabs);

            tabNameByTabId = Tabs.Where(t => t.IsFakeTab == false).ToDictionary(t => t.i, t => t.Name);
        }
示例#16
0
        public FullBestiaryOrb(JSONProxy.Item item) : base(item)
        {
            this.Rarity   = getRarity(item);
            this.ItemType = ItemType.Currency;

            this.Genus  = ProxyMapper.GetGenus(item.Properties);
            this.Group  = ProxyMapper.GetGroup(item.Properties);
            this.Family = ProxyMapper.GetFamily(item.Properties);

            // TODO: This item's explicit mods are the mods of the contained beast.  These could be various types of
            // mods ("prefix mod", "suffix mod", "monster mod", etc.), but only the name is provided in the JSON for
            // the explicit mod.  Compile a list of each of these types of mods and map them here, so we can style the
            // text of the mods correctly in the item tooltip.  Right now all of the mods have the default blue
            // foreground text and no other styling, which is only correct for prefix/suffix mods.  Note that the
            // in-game detailed tooltip uses "monster mod" for different kinds of mods, including bestiary beast mods
            // (bold white text with red outline) and bloodline mods (magenta text RGB(210, 0, 220)).
        }
示例#17
0
        protected Item(JSONProxy.Item item)
        {
            this.Verified     = item.Verified;
            this.Identified   = item.Identified;
            this.W            = item.W;
            this.H            = item.H;
            this.IconURL      = item.Icon;
            this.League       = item.League;
            this.Name         = item.Name;
            this.TypeLine     = item.TypeLine;
            this.DescrText    = item.DescrText;
            this.X            = item.X;
            this.Y            = item.Y;
            this.InventoryId  = item.InventoryId;
            this.SecDescrText = item.SecDescrText;
            this.Explicitmods = item.ExplicitMods;
            this.ItemType     = Model.ItemType.UnSet;

            if (item.Properties != null)
            {
                this.Properties = item.Properties.Select(p => new Property(p)).ToList();

                if (this.Properties.Any(p => p.Name == "Quality"))
                {
                    this.IsQuality = true;
                    this.Quality   = ProxyMapper.GetQuality(item.Properties);
                }
            }

            this.Corrupted         = item.Corrupted;
            this.Microtransactions = item.CosmeticMods == null ? new List <string>() : item.CosmeticMods;

            this.TradeX           = this.X;
            this.TradeY           = this.Y;
            this.TradeInventoryId = this.InventoryId;
            this.Character        = string.Empty;
        }
示例#18
0
 public LegionEmblem(JSONProxy.Item item) : base(item)
 {
     Faction = ProxyMapper.GetLegionFaction(item);
 }
示例#19
0
 public Splinter(JSONProxy.Item item) : base(item)
 {
     Type = ProxyMapper.GetBreachType(item);
 }
示例#20
0
 public LegionSplinter(JSONProxy.Item item) : base(item)
 {
     Faction = ProxyMapper.GetLegionFaction(item);
 }
示例#21
0
 public Breachstone(JSONProxy.Item item) : base(item)
 {
     Type = ProxyMapper.GetBreachType(item);
 }
示例#22
0
 public Net(JSONProxy.Item item) : base(item)
 {
     this.NetTier = ProxyMapper.GetNetTier(item.Properties);
 }
示例#23
0
 protected SocketableItem(JSONProxy.Item item) : base(item)
 {
     this.Socket       = item.Socket;
     this.Color        = item.Colour;
     this.Requirements = ProxyMapper.GetRequirements(item.Requirements);
 }
示例#24
0
 public Currency(JSONProxy.Item item) : base(item)
 {
     ItemType   = ItemType.Currency;
     Type       = ProxyMapper.GetOrbType(item);
     ChaosValue = CurrencyHandler.GetChaosValue(Type);
 }
示例#25
0
 public Leaguestone(JSONProxy.Item item) : base(item)
 {
     Charges = ProxyMapper.GetCharges(item.Properties);
 }
示例#26
0
 public BreachBlessing(JSONProxy.Item item) : base(item)
 {
     Type = ProxyMapper.GetBreachType(item);
 }
示例#27
0
 public Essence(JSONProxy.Item item) : base(item)
 {
     Type = ProxyMapper.GetEssenceType(item);
 }