123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.UI;
- public class PlazaroomMemberPanel : Regist
- {
- #region Config
-
- private static Text PanelTitle;
- private static Text ContentTitle;
- private static Text FriendFilterTitle;
- private static Text NicknameTitle;
- private static Text CloseButtonTitle;
- private static Image FilterImage;
- private static Button CloseButton;
- private static Button FriendFilterButton;
- private static Button MemberButton;
- private static Button FriendListButton;
- private static Transform Grid;
- private static Transform PanelMask;
- public static bool IsFriendFilterOn;
- public static Dictionary<string, PlazaroomMemberItem> MemberItemDictionary = new Dictionary<string, PlazaroomMemberItem>();
- #endregion
- public override void RegistReference()
- {
- PanelTitle = ResourceManager.Get<Text>(ObjectLabel.AE_PanelTitle);
- ContentTitle = ResourceManager.Get<Text>(ObjectLabel.AE_ContentTitle);
- FriendFilterTitle = ResourceManager.Get<Text>(ObjectLabel.AE_FriendFilterTitle);
- NicknameTitle = ResourceManager.Get<Text>(ObjectLabel.AE_NicknameTitle);
- CloseButtonTitle = ResourceManager.Get<Text>(ObjectLabel.AE_CloseButtonTitle);
- CloseButton = ResourceManager.Get<Button>(ObjectLabel.AE_CloseButton);
- MemberButton = ResourceManager.Get<Button>(ObjectLabel.X_MemberButton);
- FriendFilterButton = ResourceManager.Get<Button>(ObjectLabel.AE_FriendFilterButton);
- FriendListButton = ResourceManager.Get<Button>(ObjectLabel.AE_FriendListButton);
- FilterImage = ResourceManager.Get<Image>(ObjectLabel.AE_FriendFilterIcon);
- Grid = ResourceManager.Get(ObjectLabel.AE_Grid);
- PanelMask = ResourceManager.Get(ObjectLabel.AE_PlazaroomMemberPanelMask);
- LanguageManager.Add(PanelTitle, Language.GetStr(LanguageLabel.UI__AE_Title));
- LanguageManager.Add(ContentTitle, Language.GetStr(LanguageLabel.UI__AE_JoinedTimeTitle));
- LanguageManager.Add(FriendFilterTitle, Language.GetStr(LanguageLabel.UI__AE_FilterTitle));
- LanguageManager.Add(NicknameTitle, Language.GetStr(LanguageLabel.UI__AE_Nickname));
- LanguageManager.Add(CloseButtonTitle, Language.GetStr(LanguageLabel.UI__AE_CloseTitle));
- PanelMask.CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
- MemberButton.CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
- MemberButton.onClick.AddListener(OpenPanel);
- CloseButton.onClick.AddListener(ClosePanel);
- FriendFilterButton.onClick.AddListener(OnFilterButtonClick);
- FriendListButton.onClick.AddListener(OnFriendListButtonClick);
- FriendPanel.OnFriendListRefresh += OnFriendListRefresh;
- }
- public static void OpenPanel()
- {
- AudioManager.PlayClip(ResourceLabel.BtnClip);
- PanelMask.TweenForCG();
- MemberButton.TweenBacCG();
- }
- public static void ClosePanel()
- {
- AudioManager.PlayClip(ResourceLabel.CloseClip);
- PanelMask.TweenBacCG();
- MemberButton.TweenForCG();
- }
- private static void OnFilterButtonClick()
- {
- AudioManager.PlayClip(ResourceLabel.BtnClip);
- if (IsFriendFilterOn)
- {
- DisableFriendFilter();
- }
- else
- {
- EnableFriendFilter();
- }
- }
- public static void EnableFriendFilter()
- {
- FilterImage.SetActive(true);
- IsFriendFilterOn = true;
- foreach (var memberItem in MemberItemDictionary.Values)
- {
- if (!memberItem.IsFriend(FriendPanel.FriendAccountDatas))
- {
- memberItem.SetActive(false);
- }
- }
- }
- public static void DisableFriendFilter()
- {
- FilterImage.SetActive(false);
- IsFriendFilterOn = false;
- foreach (var memberItem in MemberItemDictionary.Values)
- {
- memberItem.SetActive(true);
- }
- }
- private void OnFriendListButtonClick()
- {
- FriendPanel.OpenRootFriendPanel();
- }
- public static void AddMemberItem(string nickname, string serialNumber, DateTime joinedTime)
- {
- PlazaroomMemberItem memberItem = ResourceManager.Get(ResourceLabel.PlazaroomMemberItem, Folder.UI, false, Grid, false, ObjType.PlazaroomMemberItem, typeof(PlazaroomMemberItem)).GetComponent<PlazaroomMemberItem>();
- memberItem.transform.SetAsFirstSibling();
- AccountData accountData = new AccountData(nickname, serialNumber);
- memberItem.Reset(accountData, joinedTime);
- MemberItemDictionary.Add(serialNumber, memberItem);
- if (IsFriendFilterOn && !memberItem.IsFriend(FriendPanel.FriendAccountDatas))
- {
- memberItem.SetActive(false);
- }
- }
- public static void SaveMemberItem(string serialNumber)
- {
- PlazaroomMemberItem memberItem = MemberItemDictionary[serialNumber];
- ResourceManager.Save(memberItem);
- MemberItemDictionary.Remove(serialNumber);
- }
- private static void OnFriendListRefresh(List<AccountData> accountDatas)
- {
- if (IsFriendFilterOn)
- {
- EnableFriendFilter();
- }
- }
- }
|