using System;  
 | 
using System.Collections.Generic;  
 | 
using LitJson;  
 | 
using UnityEngine;  
 | 
using UnityEngine.UI;  
 | 
  
 | 
//合成界面  
 | 
public class ComposeWin : UIBase  
 | 
{  
 | 
  
 | 
    [SerializeField] ItemCell itemCell;  
 | 
    [SerializeField] Text nameText;  
 | 
    [SerializeField] Text descText;  
 | 
    [SerializeField] ItemCell needItemCell;  
 | 
    [SerializeField] Text haveCntText;  
 | 
    [SerializeField] SliderPanel sliderPanel;  
 | 
    [SerializeField] Button composeButton;  
 | 
  
 | 
  
 | 
    public static string guid;  
 | 
    int useCnt;  
 | 
    int targetCnt;  
 | 
    int targetID;  
 | 
    int itemID;  
 | 
    protected override void InitComponent()  
 | 
    {  
 | 
        composeButton.AddListener(() =>  
 | 
        {  
 | 
            if (!ItemLogicUtility.CheckItemCount(PackType.Item, targetID, useCnt * targetCnt, 2))  
 | 
            {  
 | 
                return;  
 | 
            }  
 | 
  
 | 
            CloseWindow();  
 | 
  
 | 
            var pack = new CA303_tagCMItemCompound();  
 | 
            pack.ID = (uint)ItemCompoundConfig.GetItemCompoundConfig(itemID).id;  
 | 
            pack.CompoundCnt = (ushort)useCnt;  
 | 
            GameNetSystem.Instance.SendInfo(pack);  
 | 
  
 | 
        });  
 | 
    }  
 | 
  
 | 
  
 | 
    protected override void OnPreOpen()  
 | 
    {  
 | 
        var item = PackManager.Instance.GetItemByGuid(guid);  
 | 
        itemID = item.itemId;  
 | 
        var config = ItemCompoundConfig.GetItemCompoundConfig(itemID);  
 | 
        targetID = config.itemID;  
 | 
        targetCnt = config.itemCount;  
 | 
  
 | 
        itemCell.Init(new ItemCellModel(itemID, false, item.count));  
 | 
        nameText.text = item.config.ItemName;  
 | 
        descText.text = item.config.Description;  
 | 
  
 | 
        needItemCell.Init(new ItemCellModel(targetID, false, 0));  
 | 
        needItemCell.button.AddListener(() =>  
 | 
        {  
 | 
            ItemTipUtility.Show(targetID);  
 | 
        });  
 | 
          
 | 
        var haveCnt = PackManager.Instance.GetItemCountByID(PackType.Item, targetID);  
 | 
        var haveStr = Language.Get("storename12", haveCnt + "/" + targetCnt);  
 | 
        haveCntText.text = haveCnt < targetCnt ? UIHelper.AppendColor(TextColType.Red, haveStr) : haveStr;  
 | 
  
 | 
        useCnt = 1;  
 | 
        sliderPanel.Init((value) => {  
 | 
            useCnt = value;  
 | 
            var haveStr = Language.Get("storename12", haveCnt + "/" + targetCnt * value);  
 | 
            haveCntText.text = haveCnt < targetCnt * value ? UIHelper.AppendColor(TextColType.Red, haveStr) : haveStr;  
 | 
  
 | 
        }, Math.Max(1, (int)haveCnt/targetCnt));  
 | 
  
 | 
  
 | 
    }  
 | 
  
 | 
  
 | 
      
 | 
  
 | 
      
 | 
} 
 |