using System.Collections; 
 | 
using System.Collections.Generic; 
 | 
using UnityEngine; 
 | 
using UnityEngine.UI; 
 | 
  
 | 
/// <summary> 
 | 
/// 积分招募规则 
 | 
/// </summary> 
 | 
public class HeroCallScoreRuleWin : UIBase 
 | 
{ 
 | 
  
 | 
    [SerializeField] ScrollerController scrollerController; 
 | 
    [SerializeField] HeroSelectBehaviour heroSelectBehaviour; 
 | 
  
 | 
  
 | 
    protected override void OnPreOpen() 
 | 
    { 
 | 
        HeroUIManager.Instance.selectHeroCallListJob = 0; 
 | 
        HeroUIManager.Instance.selectHeroCallListCountry = 0; 
 | 
  
 | 
        HeroUIManager.Instance.SortHeroCallList(); 
 | 
        scrollerController.OnRefreshCell += OnRefreshCell; 
 | 
        Refresh(); 
 | 
        CreateScroller(); 
 | 
    } 
 | 
  
 | 
    protected override void OnPreClose() 
 | 
    { 
 | 
        scrollerController.OnRefreshCell -= OnRefreshCell; 
 | 
    } 
 | 
  
 | 
    public override void Refresh() 
 | 
    { 
 | 
        heroSelectBehaviour.Display(0, HeroUIManager.Instance.selectHeroListJob, HeroUIManager.Instance.selectHeroListCountry, SelectJobCountry); 
 | 
    } 
 | 
  
 | 
    void SelectJobCountry(int job, int country) 
 | 
    { 
 | 
        HeroUIManager.Instance.selectHeroCallListJob = job; 
 | 
        HeroUIManager.Instance.selectHeroCallListCountry = country; 
 | 
        HeroUIManager.Instance.SortHeroCallList(); 
 | 
        scrollerController.m_Scorller.RefreshActiveCellViews(); 
 | 
    } 
 | 
  
 | 
    void OnRefreshCell(ScrollerDataType type, CellView cellView) 
 | 
    { 
 | 
        var _cell = cellView as HeroSmallHeadLineCell; 
 | 
        _cell.Display(cellView.index); 
 | 
    } 
 | 
  
 | 
    void CreateScroller() 
 | 
    { 
 | 
        scrollerController.Refresh(); 
 | 
        for (int i = 0; i < HeroUIManager.Instance.heroCallSortList.Count; i++) 
 | 
        { 
 | 
            if (i % 4 == 0) 
 | 
            { 
 | 
                scrollerController.AddCell(ScrollerDataType.Header, i); 
 | 
            } 
 | 
        } 
 | 
        scrollerController.Restart(); 
 | 
    } 
 | 
} 
 |