123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using LitJson;
- using UnityEngine;
- using UnityEngine.UI;
- public class FriendItemLabel
- {
- public static string FriendItem = "FriendItem";
- public static string Nickname = "Nickname";
- public static string Content = "Content";
- public static string Frame = "Frame";
- public static string VisitButton = "VisitButton";
- public static string VisitButtonTitle = "VisitButtonTitle";
- public static string VisitImagePlus = "VisitImagePlus";
- public static string VerticalGroup = "VerticalGroup";
- public static string SendMessageButtonParent = "SendMessageButtonParent";
- public static string SendMessageButton = "SendMessageButton";
- public static string NewMessageFlagImage = "NewMessageFlagImage";
- public static string SendMessageButtonText = "SendMessageButtonText";
- public static string DeleteButtonParent = "DeleteButtonParent";
- public static string DeleteButton = "DeleteButton";
- public static string DeleteButtonText = "DeleteButtonText";
- }
- public class FriendItem : VirtualScrollRectItem
- {
- #region Config
-
- public Text NicknameTitle;
- public Text ContentTitle;
- public Text VisitButtonTitle;
- public Text SendMessageButtonText;
- public Text DeleteButtonText;
- public Image NewMessageFlagImage;
- public Button VisitButton;
- public Button SendMessageButton;
- public Button DeleteButton;
- public AccountData AccountData;
- #endregion
- public override bool Init()
- {
- if (base.Init())
- {
- return true;
- }
- Dictionary<string, Transform> childDictionary = new Dictionary<string, Transform>();
- Auxiliary.CompileDic(transform, childDictionary);
- NicknameTitle = childDictionary[FriendItemLabel.Nickname].GetComponent<Text>();
- ContentTitle = childDictionary[FriendItemLabel.Content].GetComponent<Text>();
- VisitButtonTitle = childDictionary[FriendItemLabel.VisitButtonTitle].GetComponent<Text>();
- SendMessageButtonText = childDictionary[FriendItemLabel.SendMessageButtonText].GetComponent<Text>();
- DeleteButtonText = childDictionary[FriendItemLabel.DeleteButtonText].GetComponent<Text>();
- NewMessageFlagImage = childDictionary[FriendItemLabel.NewMessageFlagImage].GetComponent<Image>();
- VisitButton = childDictionary[FriendItemLabel.VisitButton].GetComponent<Button>();
- SendMessageButton = childDictionary[FriendItemLabel.SendMessageButton].GetComponent<Button>();
- DeleteButton = childDictionary[FriendItemLabel.DeleteButton].GetComponent<Button>();
- LanguageManager.Add(SendMessageButtonText, new MulLanStr(LanguageLabel.FriendItem__SendMessageButtonText));
- LanguageManager.Add(DeleteButtonText, new MulLanStr(LanguageLabel.FriendItem__DeleteButtonText));
- VisitButton.onClick.AddListener(OnVisitButtonClick);
- SendMessageButton.onClick.AddListener(OnSendMessageButtonClick);
- DeleteButton.onClick.AddListener(OnDeleteButtonClick);
- VisitButtonTitle.text = ResourceManager.Get<Text>(CanvasLabel.C_CostLab).text;
- Manager.OnLevelChange += level =>
- {
- VisitButtonTitle.text = ResourceManager.Get<Text>(CanvasLabel.C_CostLab).text;
- };
- MessagePanel.OnHaveNewMessage += OnHaveNewMessage;
- MessagePanel.OnDontHaveNewMessage += OnDontHaveNewMessage;
- return false;
- }
- public void Reset(AccountData accountData)
- {
- AccountData = accountData;
- NicknameTitle.text = accountData.Nickname;
- ContentTitle.text = HttpManager.GetTimespanAndTransfer(accountData.LastLoginDate);
- }
- public void OnVisitButtonClick()
- {
- if (SFSManager.PlazaRoomController.JoinedPlazaRoom)
- {
- SFSManager.PlazaRoomController.TryExitToVisit
- (
- AccountData.SerialNumber,
- () =>
- {
- FriendPanel.CloseRootFriendPanel();
- PlazaroomMemberPanel.ClosePanel();
- }
- );
- }
- else
- {
- FriendPanel.CloseRootFriendPanel();
- CounterAction counterAction = new CounterAction(FriendPanel.OpenRootFriendPanel);
- counterAction.Bind(ref VisitManager.OnExitVisteeGarden);
- VisitManager.Visit(ConfigSource.SerialNumber, AccountData.SerialNumber);
- }
- }
- public void OnDeleteButtonClick()
- {
- Bubble.Show
- (
- null,
- Language.GetStr(LanguageLabel.FriendItem__DeleteWarning),
- null,
- null,
- () =>
- {
- DeleteButton.interactable = false;
- HttpManager.DeleteBuddy(AccountData.SerialNumber, DeleteFriendSucceed, DeleteFriendFailed);
- }
- );
- }
- public void DeleteFriendFailed()
- {
- DeleteButton.interactable = true;
- Bubble.Show(null, Language.GetStr(LanguageLabel.ApplicantItem__ConnectError));
- }
- public void DeleteFriendSucceed()
- {
- DeleteButton.interactable = true;
- FriendPanel.SaveFriendItem(this);
- FriendPanel.DeleteLastPrivateMessageDate(AccountData.SerialNumber);
- }
- public void OnSendMessageButtonClick()
- {
- FriendPanel.CloseFriendPanel();
- MessagePanel.OpenPanel(AccountData);
- CounterAction counterAction = new CounterAction(FriendPanel.OpenFriendPanel);
- counterAction.Bind(ref MessagePanel.OnPanelClosed);
- }
- public void OnHaveNewMessage(string serialNumber)
- {
- if (serialNumber == AccountData.SerialNumber)
- {
- NewMessageFlagImage.SetActive(true);
- }
- FriendPanel.UpdateFriendButtonOutlineStatus();
- }
- public void OnDontHaveNewMessage(string serialNumber)
- {
- if (serialNumber == AccountData.SerialNumber)
- {
- NewMessageFlagImage.SetActive(false);
- }
- FriendPanel.UpdateFriendButtonOutlineStatus();
- }
- }
|