protected static int getPriceByClass(ClassOfItem itemClass) { switch (itemClass) { case ClassOfItem.Equipment: // Обладунок return(10); case ClassOfItem.Reagent: // Реагент return(2); } return(1); // Інше, квестовий, сміття і звичайний }
protected Item(int id, int nameId, int level, Sprites sprite, TypeOfItemRarity rarity, int descriptionId, ClassOfItem itemClass, int count = 1, int algorithmUseId = -1) { Id = id; Name = Localization.Current.ItemNames[nameId]; Description = Localization.Current.EntityDescriptions[descriptionId]; spriteId = sprite; Count = Mathf.Clamp(count, 1, int.MaxValue); Class = itemClass; Rarity = rarity; Level = Mathf.Clamp(level, Personage.MIN_LEVEL, Personage.MAX_LEVEL); price = Level * getPriceByClass(itemClass) * getPriceByRarity(rarity); ForSelling = !(itemClass == ClassOfItem.Quest || itemClass == ClassOfItem.Other); ClassName = Localization.Current.ItemClassNames[( int )itemClass]; RarityName = Localization.Current.ItemRarityNames[( int )rarity]; Timer = 0f; this.algorithmUseId = algorithmUseId; }