using System.Collections; 
 | 
using System.Collections.Generic; 
 | 
using UnityEngine; 
 | 
using EnhancedUI.EnhancedScroller; 
 | 
using UnityEngine.UI; 
 | 
using System; 
 | 
  
 | 
public class CellView : EnhancedScrollerCellView 
 | 
{ 
 | 
    Button m_btn; 
 | 
  
 | 
    public Action<CellView> OnClick; 
 | 
  
 | 
    public ScrollerDataType type; 
 | 
  
 | 
    public float height = 100; 
 | 
  
 | 
    public CellInfo? info; 
 | 
  
 | 
    public ScrollerController controller { get; private set; } 
 | 
  
 | 
    private ScrollerUI scrollerUI; 
 | 
  
 | 
    public ScrollerUI diplayCell 
 | 
    { 
 | 
        get 
 | 
        { 
 | 
            if (scrollerUI == null) 
 | 
            { 
 | 
                scrollerUI = GetComponent<ScrollerUI>(); 
 | 
            } 
 | 
            return scrollerUI; 
 | 
        } 
 | 
    } 
 | 
  
 | 
  
 | 
    private void Start() 
 | 
    { 
 | 
        m_btn = GetComponent<Button>(); 
 | 
        if (m_btn != null) 
 | 
        { 
 | 
            m_btn.onClick.AddListener(OnBtnClick); 
 | 
        } 
 | 
    } 
 | 
  
 | 
    public void SetData(ScrollerData data, ScrollerDataType type, ScrollerController controller) 
 | 
    { 
 | 
        index = data.index; 
 | 
        this.type = type; 
 | 
        this.controller = controller; 
 | 
    } 
 | 
  
 | 
    void OnBtnClick() 
 | 
    { 
 | 
        if (OnClick != null) 
 | 
        { 
 | 
            OnClick(this); 
 | 
        } 
 | 
    } 
 | 
  
 | 
    public override void RefreshCellView() 
 | 
    { 
 | 
        if (controller != null) 
 | 
        { 
 | 
            controller.OnRefreshCellActive(this); 
 | 
        } 
 | 
        RefreshUI(); 
 | 
    } 
 | 
  
 | 
    public void RefreshUI() 
 | 
    { 
 | 
        if (diplayCell != null) 
 | 
        { 
 | 
            diplayCell.Refresh(this); 
 | 
        } 
 | 
    } 
 | 
} 
 | 
  
 | 
public struct CellInfo 
 | 
{ 
 | 
    public int infoInt1; 
 | 
    public int infoInt2; 
 | 
    public int infoInt3; 
 | 
    public string infoStr1; 
 | 
  
 | 
    public CellInfo(int infoInt1, int infoInt2, string infoStr1) 
 | 
    { 
 | 
        this.infoInt1 = infoInt1; 
 | 
        this.infoInt2 = infoInt2; 
 | 
        this.infoStr1 = infoStr1; 
 | 
        this.infoInt3 = 0; 
 | 
    } 
 | 
  
 | 
    public void SetInfo(int _val) 
 | 
    { 
 | 
        infoInt3 = _val; 
 | 
    } 
 | 
  
 | 
    public static CellInfo Default 
 | 
    { 
 | 
        get 
 | 
        { 
 | 
            return new CellInfo(0, 0, string.Empty); 
 | 
        } 
 | 
    } 
 | 
} 
 |