| using System.Collections; | 
| using System.Collections.Generic; | 
| using UnityEngine; | 
| using UnityEngine.UI; | 
|   | 
| /// <summary> | 
| /// 查看其他公会界面 | 
| /// </summary> | 
| 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); | 
|     } | 
|   | 
| } |