1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- using UnityEngine;
- using UnityEngine.UI;
- using System.Collections;
- using System.Collections.Generic;
- public class LeaderBoard : PopUpPanel {
- public GameObject leaderBoardItemPrefab;
- public Text title;
- public Transform itemContainer;
- public LeaderBoardItem myRank;
- public Text loadingText;
- void Awake()
- {
- title.text = Language.GetStr ("LeaderBoard", "title");
- loadingText.text = Language.GetStr ("Public", "loading");
- }
- // Use this for initialization
- void Start ()
- {
- RequestData ();
- }
- private void RequestData()
- {
- loadingText.enabled = true;
- LeaderBoardManager.GetInstance ().OnSetData += OnSetData;
- LeaderBoardManager.GetInstance ().RequestData ();
- }
- private void OnSetData()
- {
- LeaderBoardManager.GetInstance ().OnSetData -= OnSetData;
- List<LeaderBoardItemData> list = LeaderBoardManager.GetInstance ().GetData ();
- for(int i=0; i<list.Count; i++)
- {
- GameObject itemObj = Instantiate<GameObject>(leaderBoardItemPrefab);
- LeaderBoardItem item = itemObj.GetComponent<LeaderBoardItem>();
- PopUpManager.AddToMainCanvas(itemObj, itemContainer);
- item.SetData(list[i]);
- }
- loadingText.enabled = false;
- }
- public void SetMyRankIndex(int rankIndex)
- {
- LeaderBoardItemData data = new LeaderBoardItemData(rankIndex+1, null);
- UserData userData = Session.GetInstance().myUserData;
- data.id = userData.id;
- data.nick = userData.nick;
- data.win = userData.win;
- data.lose = userData.lose;
- data.rank = userData.rank;
- myRank.SetData(data);
- }
- override protected void Remove()
- {
- this.gameObject.SetActive (false);
- PopUpManager.UpdateModal();
- }
- private static LeaderBoard currentPanel;
- public static LeaderBoard Show()
- {
- if (currentPanel != null) {
- currentPanel.gameObject.SetActive (true);
- PopUpManager.AddToMainCanvas (currentPanel.gameObject);
- }
- else
- currentPanel = PopUpManager.AddPopUp<LeaderBoard> (Resources.Load<GameObject> ("Prefabs/UI/LeaderBoard/LeaderBoard"), null, true);
- currentPanel.Open ();
- return currentPanel;
- }
- }
|