using System; 
 | 
using System.Collections.Generic; 
 | 
using UnityEngine; 
 | 
using UnityEngine.UI; 
 | 
  
 | 
  
 | 
//自动淘金选项 
 | 
public class GoldRushAutoCell : CellView 
 | 
{ 
 | 
    [SerializeField] Toggle autoToggle; 
 | 
    [SerializeField] ItemCell itemCell; 
 | 
    [SerializeField] Text nameText; 
 | 
    [SerializeField] CountControler countControler; 
 | 
  
 | 
    [SerializeField] Transform lockGo; 
 | 
    [SerializeField] Text lockText; 
 | 
  
 | 
    int arrIndex; 
 | 
    int itemLV; 
 | 
    int itemID; 
 | 
    public void Display(int _index) 
 | 
    { 
 | 
        arrIndex = _index; 
 | 
        itemID = GoldRushManager.Instance.autoRefreshItemIDs[arrIndex]; 
 | 
        itemLV = GoldRushManager.Instance.GetAutoItemLV(arrIndex); 
 | 
        bool isOn = itemLV > 0; 
 | 
        itemLV = itemLV > 0 ? itemLV : 1; 
 | 
        if (GoldRushManager.Instance.IsLock(itemID, out int funcID)) 
 | 
        { 
 | 
            lockGo.SetActive(true); 
 | 
            lockText.text = Language.Get("L1038", FuncOpenLVConfig.Get(funcID).Name); 
 | 
            countControler.SetActive(false); 
 | 
            autoToggle.SetActive(false); 
 | 
        } 
 | 
        else 
 | 
        { 
 | 
            lockGo.SetActive(false); 
 | 
            countControler.SetActive(true); 
 | 
            autoToggle.SetActive(true); 
 | 
            autoToggle.onValueChanged.AddListener((value) => 
 | 
            { 
 | 
                autoToggle.isOn = value; 
 | 
                GoldRushManager.Instance.SetAutoItemLV(arrIndex, value ? itemLV : 0); 
 | 
            }); 
 | 
            autoToggle.isOn = isOn; 
 | 
            countControler.Init(ChangeWorkerCount, GoldRushItemConfig.maxLVDic[itemID], itemLV, 
 | 
            AddWorker, DecWorker, Language.Get("L1113")); 
 | 
        } 
 | 
  
 | 
        var config = GoldRushItemConfig.GetConfig(itemID, itemLV); 
 | 
        if (config == null) 
 | 
        { 
 | 
            return; 
 | 
        } 
 | 
        itemCell.Init(new ItemCellModel(itemID, false, config.ItemCount)); 
 | 
        itemCell.button.AddListener(() => 
 | 
        { 
 | 
            ItemTipUtility.Show(itemID); 
 | 
        }); 
 | 
  
 | 
        nameText.text = GoldRushManager.Instance.GetCampItemName(config); 
 | 
  
 | 
  
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
  
 | 
    void ChangeWorkerCount(int lv) 
 | 
    { 
 | 
        itemLV = lv; 
 | 
        var config = GoldRushItemConfig.GetConfig(itemID, itemLV); 
 | 
        itemCell.Init(new ItemCellModel(itemID, false, config.ItemCount)); 
 | 
        nameText.text = GoldRushManager.Instance.GetCampItemName(config); 
 | 
        if (!autoToggle.isOn) 
 | 
        { 
 | 
            return; 
 | 
        } 
 | 
        if (lv == GoldRushManager.Instance.GetAutoItemLV(arrIndex)) 
 | 
        { 
 | 
            return; 
 | 
        } 
 | 
        GoldRushManager.Instance.SetAutoItemLV(arrIndex, lv); 
 | 
    } 
 | 
  
 | 
    bool AddWorker(int lv) 
 | 
    { 
 | 
        return true; 
 | 
    } 
 | 
  
 | 
    bool DecWorker(int count) 
 | 
    { 
 | 
        if (count <= 1) 
 | 
        {  
 | 
            return false; 
 | 
        } 
 | 
        return true; 
 | 
    } 
 | 
  
 | 
  
 | 
} 
 |