示例#1
0
        public static String GetText(LootItemStruct loot)
        {
            string text;

            switch (loot.ItemId)
            {
            case ItemConsts.GOLD:
                //text = loot.Amount + $"({InventoryDictionary.GetAmount(loot.ItemId)})";
                text = $"ゴールド獲得 + {loot.Amount}";
                break;

            case ItemConsts.LEVEL:
                text = "レベル上昇 + " + loot.Amount;
                break;

            default:
                /*var item = GetItem(loot.ItemId);
                 * text = item.data.name;
                 * if (loot.Amount > 1)
                 *  text += $" × {loot.Amount}";
                 * var hasAmount = InventoryDictionary.GetAmount(loot.ItemId);
                 * if (hasAmount > 0)
                 *  text += $" ({hasAmount})";
                 */
                text = "ルートボックス";
                break;
            }
            return(text);
        }
示例#2
0
        public static Sprite GetLootSprite(LootItemStruct loot)
        {
            switch (loot.ItemId)
            {
            case ItemConsts.GOLD:
                return(Resources.Load <Sprite>("Sprites/Icons/Misc/Gold"));

            case ItemConsts.LEVEL:
                return(Resources.Load <Sprite>("Sprites/Icons/Misc/level-1"));
            }
            switch (loot.Reality)
            {
            case RealityEnum.Reality.Common:
            case RealityEnum.Reality.UnCommon:
                return(Resources.Load <Sprite>("Sprites/Icons/Misc/root-1"));

            case RealityEnum.Reality.Rare:
            case RealityEnum.Reality.Magic:
                return(Resources.Load <Sprite>("Sprites/Icons/Misc/root-2"));

            case RealityEnum.Reality.Ancient:
            case RealityEnum.Reality.Epic:
                return(Resources.Load <Sprite>("Sprites/Icons/Misc/root-3"));

            case RealityEnum.Reality.Miracle:
            case RealityEnum.Reality.Legend:
                return(Resources.Load <Sprite>("Sprites/Icons/Misc/root-4"));

            case RealityEnum.Reality.God:
                return(Resources.Load <Sprite>("Sprites/Icons/Misc/root-5"));
            }
            return(Resources.Load <Sprite>("Sprites/Items/" + GetItem(loot.ItemId).imageData.spritePath));
        }
示例#3
0
        /// <summary>
        /// レアリティ抽選
        /// </summary>
        /// <param name="loot"></param>
        private static void DropLottery(ref LootItemStruct loot)
        {
            var choice = new WeightChoice <RealityEnum.Reality>();

            choice.Add(2000, RealityEnum.Reality.Common);
            choice.Add(1700, RealityEnum.Reality.UnCommon);
            choice.Add(1200, RealityEnum.Reality.Rare);
            choice.Add(1000, RealityEnum.Reality.Magic);
            choice.Add(500, RealityEnum.Reality.Ancient);
            choice.Add(250, RealityEnum.Reality.Epic);
            choice.Add(100, RealityEnum.Reality.Miracle);
            choice.Add(50, RealityEnum.Reality.Legend);
            choice.Add(1, RealityEnum.Reality.God);
            loot.Reality = choice.ChoiceOne();
        }
示例#4
0
        public static ItemStruct CreateItemFromLoot(LootItemStruct loot)
        {
            var itemData = ItemDictionary.GetItem(loot.ItemId);

            if (itemData.parameter != null)
            {
                CalcParameter(ref itemData.parameter, loot.Reality);
            }
            ItemStruct item = new ItemStruct()
            {
                Reality = loot.Reality,
                Amount  = loot.Amount,
                Data    = itemData
            };

            return(item);
        }
示例#5
0
        public static String GetAnnounceText(LootItemStruct loot)
        {
            string text;

            switch (loot.ItemId)
            {
            case ItemConsts.GOLD:
                text = $"ゴールドを {loot.Amount} 獲得した";
                break;

            case ItemConsts.LEVEL:
                text = $"レベルが {loot.Amount} 上昇した";
                break;

            default:
                text = $"{GetText(loot)}を獲得した";
                break;
            }
            return(text);
        }