ClanChatBar.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using System.Collections;
  4. public class ClanChatBar : MonoBehaviour
  5. {
  6. public ClanChatInput input;
  7. public Transform container;
  8. public ClanChatItem itemPrefab;
  9. // Use this for initialization
  10. void Awake ()
  11. {
  12. ListHelper.HideAll (container);
  13. Refresh();
  14. }
  15. void Start()
  16. {
  17. Session.GetInstance ().myUserData.ClanChanged.AddListener (Refresh);
  18. }
  19. void OnDestroy()
  20. {
  21. ChatManager.GetInstance ().ClanMsgGot.RemoveListener (OnClanMsgGot);
  22. Session.GetInstance ().myUserData.ClanChanged.RemoveListener (Refresh);
  23. }
  24. public void Refresh()
  25. {
  26. ChatManager.GetInstance ().ClanMsgGot.RemoveListener (OnClanMsgGot);
  27. UserData myUserData = Session.GetInstance ().myUserData;
  28. if (myUserData.isLogin && myUserData.clanId > 0) {
  29. this.gameObject.SetActive (true);
  30. ChatManager.GetInstance ().ClanMsgGot.AddListener (OnClanMsgGot);
  31. } else {
  32. this.gameObject.SetActive (false);
  33. ChatManager.GetInstance ().ClanMsgGot.RemoveListener (OnClanMsgGot);
  34. }
  35. }
  36. private void OnClanMsgGot(ChatMsg chatMsg)
  37. {
  38. ListHelper.AddToScrollChatList<ChatMsg> (container, chatMsg, itemPrefab);
  39. }
  40. }