yyl
48 分钟以前 725b7b2374f43582a2d78b2cae3f8303359651b8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
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;
 
 
    int useCnt;
    int materialCnt;
    int materialID;
    int makeID;
    protected override void InitComponent()
    {
        composeButton.AddListener(() =>
        {
            if (!ItemLogicUtility.CheckItemCount(PackType.Item, materialID, useCnt * materialCnt, 2))
            {
                return;
            }
 
            CloseWindow();
 
            var pack = new CA303_tagCMItemCompound();
            pack.ID = (uint)ItemCompoundConfig.GetItemCompoundConfig(makeID).id;
            pack.CompoundCnt = (ushort)useCnt;
 
            var items = PackManager.Instance.GetItemsById(PackType.Item, materialID);
            pack.FixedItemIndexCnt = (byte)items.Count;
            pack.FixedItemIndex = new byte[items.Count];
            for (int i = 0; i < items.Count; i++)
            {
                pack.FixedItemIndex[i] = (byte)items[i].gridIndex;
            }
            GameNetSystem.Instance.SendInfo(pack);
 
        });
    }
 
 
    protected override void OnPreOpen()
    {
        makeID = functionOrder;
        var makeItem = ItemConfig.Get(makeID);
        var config = ItemCompoundConfig.GetItemCompoundConfig(makeID);
        materialID = config.itemID;
        materialCnt = config.itemCount;
 
        itemCell.Init(new ItemCellModel(makeID, false, PackManager.Instance.GetItemCountByID(PackType.Item, makeID)));
        nameText.text = makeItem.ItemName;
        descText.text = makeItem.Description;
 
        needItemCell.Init(new ItemCellModel(materialID, false, 0));
        needItemCell.button.AddListener(() =>
        {
            ItemTipUtility.Show(materialID);
        });
        
        var haveCnt = PackManager.Instance.GetItemCountByID(PackType.Item, materialID);
        var haveStr = Language.Get("storename12", haveCnt + "/" + materialCnt);
        haveCntText.text = haveCnt < materialCnt ? UIHelper.AppendColor(TextColType.Red, haveStr) : haveStr;
 
        useCnt = 1;
        sliderPanel.Init((value) => {
            useCnt = value;
            var haveStr = Language.Get("storename12", haveCnt + "/" + materialCnt * value);
            haveCntText.text = haveCnt < materialCnt * value ? UIHelper.AppendColor(TextColType.Red, haveStr) : haveStr;
 
        }, Math.Max(1, (int)haveCnt/materialCnt));
 
 
    }
 
 
    
 
    
}