Пример #1
0
        protected string GetItemDescription(ItemDefinition item)
        {
            if (item == null)
            {
                return(null);
            }

            string description = string.Empty;

            if (item is AttackItemDefinition)
            {
                AttackItemDefinition attackItem = item as AttackItemDefinition;

                description = string.Format(@"+AP {0}", StringUtils.Digit2(attackItem.Ap));
                if (attackItem.Dp > 0)
                {
                    description += string.Format(@" +DP {0}", StringUtils.Digit2(attackItem.Dp));
                }
                if (attackItem.Dp < 0)
                {
                    description += string.Format(@" -DP {0}", StringUtils.Digit2(-attackItem.Dp));
                }
                return(description);
            }
            if (item is DefendItemDefinition)
            {
                DefendItemDefinition defendItem = item as DefendItemDefinition;
                description = string.Format(@"+DP {0}", StringUtils.Digit2(defendItem.Dp));
                return(description);
            }
            if (item is ConsumableItemDefinition)
            {
                ConsumableItemDefinition consumableItem = item as ConsumableItemDefinition;
                string prefix = string.Empty;
                switch (consumableItem.UseType)
                {
                case ItemUseType.Hp: prefix = "HP"; break;

                case ItemUseType.Mp: prefix = "MP"; break;

                case ItemUseType.HpMax: prefix = "HP"; break;

                case ItemUseType.MpMax: prefix = "MP"; break;

                case ItemUseType.Dx: prefix = "DX"; break;

                case ItemUseType.Mv: prefix = "MV"; break;

                default: break;
                }

                description = string.Format(@"+{0} {1}", prefix, consumableItem.Quantity);
                return(description);
            }

            return(string.Empty);
        }
Пример #2
0
        private void DebugStuff()
        {
            var tx2d        = EditorGUIUtility.FindTexture("console.erroricon");
            var debugSprite = Sprite.Create(tx2d, new Rect(0, 0, tx2d.width, tx2d.height),
                                            new Vector2(0.5f, 0.5f), 100f);
            var debugSprite2 = Sprite.Create(tx2d, new Rect(0, 0, tx2d.width, tx2d.height),
                                             new Vector2(0.5f, 0.5f), 100f);
            var def = new ArmorDefinition()
            {
                ArmorType   = ArmorType.Chest,
                DisplayName = "Chest",
                Description = "debug Chest",
                Icon        = new SpriteModel(debugSprite),
                Id          = ObjectId.GenerateNewId(),
                Rarity      = Rarity.Common,
            };

            def.Stats.Add(new StatModifier(ModifierType.Constant, -10, "Strength"));
            def.Stats.Add(new StatModifier(ModifierType.PercentOnCurrent, 2, "Strength"));
            def.Stats.Add(new StatModifier(ModifierType.PercentOnDefault, 10, "Strength"));

            var weadef = new WeaponDefinition()
            {
                WeaponType  = WeaponType.MainHand,
                DisplayName = "MainHand",
                Description = "MainHand debug",
                Icon        = new SpriteModel(debugSprite2),
                Id          = ObjectId.GenerateNewId(),
                Rarity      = Rarity.Legendary
            };

            weadef.Stats.Add(new StatModifier(ModifierType.Constant, 10, "Health"));
            weadef.Stats.Add(new StatModifier(ModifierType.PercentOnCurrent, 5, "Health"));
            weadef.Stats.Add(new StatModifier(ModifierType.PercentOnDefault, 10, "Health"));

            var codef = new ConsumableItemDefinition()
            {
                DisplayName = "Consumable",
                Description = "Consumable",
                Icon        = new SpriteModel(debugSprite2),
                Id          = ObjectId.GenerateNewId(),
                Rarity      = Rarity.Legendary
            };

            Weapons[WeaponType.MainHand].Add(new WeaponItem(weadef));
            Equipment[ArmorType.Chest].Add(new ArmorItem(def));
            this[0, 0].Add(new ConsumableItem(codef));
        }
Пример #3
0
        private void LoadItemDefinitions()
        {
            itemDefinitions = new Dictionary <int, ItemDefinition>();
            ResourceDataFile fileReader = new ResourceDataFile(@"Data/Item");

            int usableItemCount = fileReader.ReadInt();

            for (int i = 0; i < usableItemCount; i++)
            {
                ConsumableItemDefinition def = ConsumableItemDefinition.ReadFromFile(fileReader);
                itemDefinitions[def.ItemId] = def;
            }

            int attackItemCount = fileReader.ReadInt();

            for (int i = 0; i < attackItemCount; i++)
            {
                AttackItemDefinition def = AttackItemDefinition.ReadFromFile(fileReader);
                itemDefinitions[def.ItemId] = def;
            }

            int defendItemCount = fileReader.ReadInt();

            for (int i = 0; i < defendItemCount; i++)
            {
                DefendItemDefinition def = DefendItemDefinition.ReadFromFile(fileReader);
                itemDefinitions[def.ItemId] = def;
            }

            int specialItemCount = fileReader.ReadInt();

            for (int i = 0; i < specialItemCount; i++)
            {
                SpecialItemDefinition def = SpecialItemDefinition.ReadFromFile(fileReader);
                itemDefinitions[def.ItemId] = def;
            }

            int moneyItemCount = fileReader.ReadInt();

            for (int i = 0; i < moneyItemCount; i++)
            {
                MoneyItemDefinition def = MoneyItemDefinition.ReadFromFile(fileReader);
                itemDefinitions[def.ItemId] = def;
            }
        }
Пример #4
0
 public ConsumableItem(ConsumableItemDefinition itemDefinition)
 {
     Definition = new ConsumableItemDefinition(itemDefinition);
 }
 public ConsumableItemDefinition(ConsumableItemDefinition itemDefinition) : base(itemDefinition)
 {
 }