123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- import { _decorator, Component, instantiate, Node, Prefab, ScrollView } from 'cc';
- import { uiManager } from '../../manager/uiManager';
- import { rank_list_item } from './rank_list_item';
- import { rank_my_info } from './rank_my_info';
- import { rank_list_top } from './rank_list_top';
- import { userDataManager } from '../../manager/userDataManager';
- import { GameManager } from '../../GameManager';
- import { rank_classify } from './rank_classify';
- import { config } from '../../config';
- import { ClientEvent } from '../../lib/clientEvent';
- const { ccclass, property } = _decorator;
- @ccclass('rank')
- export class rank extends Component {
- @property(Node) btn_back:Node = null;
- @property(Node) classify_node:Node = null;
- @property(Node) list:Node = null;
- @property(Node) list_top:Node = null;
- @property(Node) list_content:Node = null;
- @property(Prefab) rank_list_item:Prefab = null;
- @property(Node) my_info_node:Node = null;
- @property(Node) btn_quarter_box:Node = null;
- private m_onReloadCountryDataCallback = null;
- onReloadCountryDataCallback(cb) {
- this.m_onReloadCountryDataCallback = cb
- }
- start() {
- uiManager.Instance().onButtonListen(this.btn_back, ()=>{
- this.close()
- ClientEvent.dispatchEvent(config.UI_EVENT.HOME_DID_BECOME_ACTIVE)
- })
- uiManager.Instance().onButtonListen(this.btn_quarter_box, ()=>{
- uiManager.Instance().showUi(config.UI.ui_quarter_rank_view)
- })
- let type = 1
- this.classify_node.getComponent(rank_classify).init(type,this.onClassifyItem.bind(this))
- this.loadView(type)
- }
- onClassifyItem(type:number) {
- this.loadView(type)
- }
- loadView(type:number) {
- let id = 0
- if(type==1) {
- id = 0
- this.btn_quarter_box.active = true
- } else if(type==2) {
- id = userDataManager.user_data.region_pid
- this.btn_quarter_box.active = false
- } else if(type==3) {
- id = userDataManager.user_data.region_id
- this.btn_quarter_box.active = false
- }
- GameManager.requestRankList(id,(d_content)=>{
- // console.log('排行列表 id=',id, '数据=',d_content)
- if(id==0) {
- if(this.m_onReloadCountryDataCallback!=null) {
- this.m_onReloadCountryDataCallback(d_content)
- }
- }
- this.reloadListTop(d_content, type)
- this.reloadListContent(d_content, type)
- this.reloadMyInfo(type)
- }, true)
- }
- reloadListTop(data_list, type:number) {
- this.list_top.getComponent(rank_list_top).initView(data_list, type)
- }
- reloadListContent(data_list, type:number) {
- this.list_content.removeAllChildren()
- if(data_list.length < 3) {
- return
- }
- for (let index = 3; index < data_list.length; index++) {
- const element = data_list[index]
- let item = instantiate(this.rank_list_item)
- item.parent = this.list_content;
- item.getComponent(rank_list_item).initView(element,index,type)
- }
- this.list.getComponent(ScrollView).scrollToTop()
- }
- reloadMyInfo(type:number) {
- let stype = 0
- if(type==1) {
- stype = 0
- } else if(type==2) {
- stype = 1
- } else if(type==3) {
- stype = 2
- }
- GameManager.requestMineRank(stype, (d_content)=>{
- // console.log('个人排行 stype=',stype,'数据=',d_content)
- this.my_info_node.getComponent(rank_my_info).initView(d_content)
- })
- }
- close() {
- this.node.removeFromParent()
- }
- }
|