Esempio n. 1
0
    public void Init(Sprite mainIcon, ExecCatalysItem catalys = null)
    {
        bool haveCatalys = catalys != null;
        if (haveCatalys)
        {
            IconRune.sprite = catalys.IconSprite;
        }
        MainImage.sprite = mainIcon;
        IconRune.gameObject.SetActive(haveCatalys);

    }
Esempio n. 2
0
 public void Set(ExecCatalysItem catalysItem)
 {
     if (catalysItem == null)
     {
         img.gameObject.SetActive(false);
         return;
     }
     else
     {
         img.sprite = catalysItem.IconSprite;
         img.gameObject.SetActive(true);
     }
 }
Esempio n. 3
0
    public void Init(RecipeItem recipeItem,Action<BaseItem> OnCraftComplete )
    {
        this.OnCraftComplete = OnCraftComplete;
        gameObject.SetActive(true);
        if (recipeItem.recipeSlot != Slot.Talisman)
        {
            string icon;
            RenderCam.Instance.DoRender(recipeItem.recipeSlot, out icon);
            Utils.LoadTexture(icon,out iconSprite);
        }
        else
        {
//            iconSprite = DataBaseController.Instance.TalismanIcon()
        }
        selectedCatalysItem = null;
        CraftInfoPlace.Init(recipeItem,null);
        this.recipeItem = recipeItem;
        elements.Clear();
        BaseWindow.ClearTransform(CraftItemsLayout);
        canCraft = true;
        foreach (var craftElement in recipeItem.ItemsToCraft())
        {
            if (craftElement.count > 0)
            {
                CraftItemElement craftItemElement = DataBaseController.GetItem<CraftItemElement>(CraftItemPrefab);
                craftItemElement.transform.SetParent(CraftItemsLayout, false);
                craftItemElement.Init(craftElement);
                if (!craftItemElement.IsEnought)
                {
                    failElement = craftItemElement;
                    canCraft = false;
                }
            }
        }
        var allCatalys = MainController.Instance.PlayerData.GetAllItems().Where(x => x is ExecCatalysItem);
        BaseWindow.ClearTransform(CatalysItemsLayout);
        foreach (var cat in allCatalys)
        {
            CatalysItemElement catalysItemElement = DataBaseController.GetItem<CatalysItemElement>(CatalysItemPrefab);
            catalysItemElement.Init(cat as ExecCatalysItem, OnCatalysClick);
            catalysItemElement.transform.SetParent(CatalysItemsLayout,false);
            catalysElements.Add(catalysItemElement);
        }
        CatalysItemElement catalysItemElementFree = DataBaseController.GetItem<CatalysItemElement>(CatalysItemPrefab);
        catalysItemElementFree.Init(null, OnCatalysClick);
        catalysItemElementFree.transform.SetParent(CatalysItemsLayout, false);
        catalysElements.Add(catalysItemElementFree);

        CraftResultPlace.Init(iconSprite, null);
    }
Esempio n. 4
0
 public void Init(ExecCatalysItem item,Action<ExecCatalysItem> callback)
 {
     if (item != null)
     {
         image.sprite = item.IconSprite;
         text.text = item.count.ToString("0");
     }
     else
     {
         text.text = "";
     }
     this.item = item;
     this.callback = callback;
     Selected.gameObject.SetActive(false);
 }
Esempio n. 5
0
    public static ExecutableItem Create(string subStr)
    {
        var spl = subStr.Split(DELEM);
        ExecutableType t = (ExecutableType)Enum.Parse(typeof (ExecutableType), spl[0]);
        ExecutableItem item = null;
        var count = Convert.ToInt32(spl[1]);
        switch (t)
        {
            case ExecutableType.craft:
                item = new ExecCraftItem((CraftItemType)Enum.Parse(typeof(CraftItemType), spl[2]), count);
                break;
            case ExecutableType.enchant:
                item = new ExecEnchantItem((EnchantType)Enum.Parse(typeof(EnchantType), spl[2]), count);
                break;
            case ExecutableType.catalys:
                item = new ExecCatalysItem((CatalysItemType)Enum.Parse(typeof(CatalysItemType), spl[2]), count);
                break;
        }

        return item;
    }
Esempio n. 6
0
 private void OnCatalysClick(ExecCatalysItem execCatalysItem)
 {
     CatalysChanges(execCatalysItem);
 }
Esempio n. 7
0
 private void CatalysChanges(ExecCatalysItem catalysItem)
 {
     this.selectedCatalysItem = catalysItem;
     foreach (var catalysItemElement in catalysElements)
     {
         if (catalysItemElement.Item != catalysItem)
         {
             catalysItemElement.SelectAnother();
         }
     }
     CraftResultPlace.Init(iconSprite, selectedCatalysItem);
     if (catalysItem != null)
     {
         CraftInfoPlace.Init(recipeItem, catalysItem.ItemType);
     }
     else
     {
         CraftInfoPlace.Init(recipeItem,null);
     }
 }
Esempio n. 8
0
 public PlayerItem Craft(ExecCatalysItem catalysItem)
 {
     var resultItem = HeroShopRandomItem.CreatMainSlot(recipeSlot, Level);
     if (catalysItem != null)
     {
         switch (resultItem.Slot)
         {
             case Slot.physical_weapon:
             case Slot.magic_weapon:
                 var spedAbilities = PosibleAbilities(catalysItem.ItemType);
                 var sa = spedAbilities.RandomElement();
                 resultItem.specialAbilities = sa;
                 break;
             case Slot.body:
             case Slot.helm:
                 switch (catalysItem.ItemType)
                 {
                     case CatalysItemType.red:
                         break;
                     case CatalysItemType.blue:
                         break;
                     case CatalysItemType.green:
                         break;
                     case CatalysItemType.black:
                         break;
                     case CatalysItemType.white:
                         break;
                 }
                 break;
             case Slot.Talisman:
                 switch (catalysItem.ItemType)
                 {
                     case CatalysItemType.red:
                         break;
                     case CatalysItemType.blue:
                         break;
                     case CatalysItemType.green:
                         break;
                     case CatalysItemType.black:
                         break;
                     case CatalysItemType.white:
                         break;
                 }
                 break;
         }
     }
     return resultItem;
 }