TeamNick.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using System.Collections;
  4. public class TeamNick : MonoBehaviour
  5. {
  6. public Image icon;
  7. public Text nickTxt;
  8. public Button kickBtn;
  9. private UserData userData;
  10. private int id;
  11. public void SetData(int id)
  12. {
  13. UserCache.UserDataGot.RemoveListener (OnUserDataGot);
  14. this.id = id;
  15. if(id == 0)
  16. {
  17. this.gameObject.SetActive (false);
  18. }
  19. else
  20. {
  21. nickTxt.text = UserCache.GetNick (id);
  22. kickBtn.gameObject.SetActive (InviteManager.GetInstance ().IsLeader (Session.myUserId));
  23. UserCache.UserDataGot.AddListener (OnUserDataGot);
  24. UserCache.GetUser (id);
  25. }
  26. }
  27. private void OnUserDataGot(UserData userData)
  28. {
  29. if(userData != null && userData.id == id)
  30. {
  31. this.gameObject.SetActive (true);
  32. this.userData = userData;
  33. nickTxt.text = userData.nick;
  34. }
  35. }
  36. public void OnClick()
  37. {
  38. ProfilePanel.Show (id);
  39. }
  40. public void Kick()
  41. {
  42. string info = Language.GetStr ("Invite", "teamKickConfirm").Replace ("%NICK%", UserCache.GetNick(id));
  43. AlertPanel.Show (info, AlertPanel.YES|AlertPanel.NO, (AlertCloseEvent evt)=>{
  44. if(evt.detail == AlertPanel.YES)
  45. {
  46. Session.GetInstance ().GetBattleSession ().GetMessageManager ().TeamKick (id);
  47. }
  48. });
  49. }
  50. public void Dispose()
  51. {
  52. UserCache.UserDataGot.RemoveListener (OnUserDataGot);
  53. }
  54. }