using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; /// /// 查看其他公会界面 /// public class GuildPreviewWin : UIBase { [SerializeField] GuildEmblemCell guildEmblem; [SerializeField] Text guildMemberCountText; [SerializeField] Text totalFightPowerText; [SerializeField] Text guildLevelText; [SerializeField] Text guildNameText; //加服务器信息 [SerializeField] Text guildNumText; //加公会编号 [SerializeField] Button copyBtn; [SerializeField] Text noticeText; //公告 [SerializeField] AvatarCell leaderAvatar; [SerializeField] OfficialTitleCell leaderTitle; [SerializeField] Text leaderLevelText; [SerializeField] Text guildJobText; [SerializeField] Text leaderNameText; [SerializeField] Text leaderFightPowerText; [SerializeField] Button opearteBtn; [SerializeField] Text opearteBtnText; int guildID; int leaderID; protected override void InitComponent() { opearteBtn.AddListener(() => { var guildInfo = GuildManager.Instance.guildsDict[guildID]; if (guildInfo == null) return; var state = GuildManager.Instance.GetRequestState(guildInfo); GuildManager.Instance.SendApplyGuild(guildID, state == 2 ? 1 : 0); }); copyBtn.AddListener(() => { UIHelper.CopyToClipboard(guildNumText.text); SysNotifyMgr.Instance.ShowTip("GuildSys8"); }); leaderAvatar.button.AddListener(() => { OtherPlayerDetailManager.Instance.ViewPlayerDetail(leaderID); }); } protected override void OnPreOpen() { OtherPlayerDetailManager.Instance.OnRevPackage += OnRevLeaderPackage; guildID = functionOrder; Display(); } protected override void OnPreClose() { OtherPlayerDetailManager.Instance.OnRevPackage -= OnRevLeaderPackage; } void Display() { var guildInfo = GuildManager.Instance.guildsDict[guildID]; if (guildInfo == null) return; leaderID = guildInfo.LeaderID; OtherPlayerDetailManager.Instance.ViewPlayerDetail(leaderID, (int)ViewPlayerType.viewGuildLeader); var config = FamilyConfig.Get(guildInfo.FamilyLV); guildEmblem.Display(guildInfo.EmblemID, guildInfo.EmblemWord, 0.7f); guildMemberCountText.text = guildInfo.MemberCount + "/" + config.MemberMax; totalFightPowerText.text = UIHelper.ReplaceLargeArtNum(guildInfo.totalFightPower); guildLevelText.text = Language.Get("L1094") + guildInfo.FamilyLV; guildNameText.text = guildInfo.FamilyName + Language.Get("L1039", ServerListCenter.Instance.GetServerName(guildInfo.ServerID)); guildNumText.text = GuildManager.Instance.EncryptGuildID(guildInfo.FamilyID); leaderNameText.text = guildInfo.LeaderName; noticeText.text = string.IsNullOrEmpty(guildInfo.Broadcast) ? Language.Get("Guild_62") : guildInfo.Broadcast; var state = GuildManager.Instance.GetRequestState(guildInfo); string key = ""; switch (state) { case 1: key = "Guild_17"; break; case 2: key = "Guild_21"; break; default: key = "Guild_22"; break; } opearteBtnText.text = Language.Get(key); } void OnRevLeaderPackage(int viewType, int playerID) { if (viewType != (int)ViewPlayerType.viewGuildLeader) { return; } if (playerID != leaderID) { return; } var leaderInfo = OtherPlayerDetailManager.Instance.GetViewPlayerData(playerID); leaderAvatar.InitUI(AvatarHelper.GetAvatarModel(0, leaderInfo.Face, leaderInfo.FacePic)); leaderTitle.InitUI(leaderInfo.RealmLV, leaderInfo.TitleID); leaderLevelText.text = leaderInfo.LV.ToString(); guildJobText.text = RichTextMsgReplaceConfig.GetRichReplace("FAMILY", 3); leaderFightPowerText.text = UIHelper.ReplaceLargeArtNum(leaderInfo.FightPower); } }