Beispiel #1
0
        public IEnumerator CoCreate(List <ItemBase> items, Vector3 position)
        {
            for (var i = 0; i < items.Count; i++)
            {
                var item  = items[i];
                var exist = ItemFactory.CreateMaterial(Game.instance.TableSheets.MaterialItemSheet, item.Id);
                if (exist == null)
                {
                    items.Remove(item);
                }
            }

            var objectPool = GetComponent <ObjectPool>();
            var dropItem   = objectPool.Get <DropItem>(position);

            if (dropItem == null)
            {
                yield break;
            }


            // sprite
            var render = dropItem.GetComponent <SpriteRenderer>();
            var sprite = _box.GetIconSprite();

            render.sprite       = sprite;
            render.sortingOrder = 0;

            yield return(dropItem.CoSet(items));
        }
Beispiel #2
0
        public void Set(
            ItemBase itemBase,
            Action <EquipmentSlot> onClick,
            Action <EquipmentSlot> onDoubleClick)
        {
            if (itemBase is null)
            {
                Clear();

                _onClick       = onClick;
                _onDoubleClick = onDoubleClick;
                return;
            }

            var sprite = itemBase.GetIconSprite();

            if (defaultImage)
            {
                defaultImage.enabled = false;
            }

            itemImage.enabled        = true;
            itemImage.overrideSprite = sprite;
            itemImage.SetNativeSize();
            Item = itemBase;

            var gradeSprite = itemBase.GetBackgroundSprite();

            if (gradeSprite is null)
            {
                throw new FailedToLoadResourceException <Sprite>(itemBase.Grade.ToString());
            }

            gradeImage.enabled        = true;
            gradeImage.overrideSprite = gradeSprite;

            if (itemBase is Equipment equip && equip.level > 0)
            {
                enhancementText.enabled = true;
                enhancementText.text    = $"+{equip.level}";
            }