public bool SC_GetJoinGuildPlayer(Protomsg.MsgBase d1) { Debug.Log("SC_GetJoinGuildPlayer:"); IMessage IMperson = new Protomsg.SC_GetJoinGuildPlayer(); Protomsg.SC_GetJoinGuildPlayer p1 = (Protomsg.SC_GetJoinGuildPlayer)IMperson.Descriptor.Parser.ParseFrom(d1.Datas); //创建界面 if (main == null) { return(true); } //-------------------------公会成员-------------------------- main.GetChild("requestlist").asList.RemoveChildren(0, -1, true); //处理排序 Protomsg.GuildChaInfo[] allplayer = new Protomsg.GuildChaInfo[p1.RequestCharacters.Count]; int index = 0; foreach (var item in p1.RequestCharacters) { allplayer[index++] = item; } System.Array.Sort(allplayer, (a, b) => { if (a.Level > b.Level) { return(1); } else { return(-1); } }); foreach (var item in allplayer) { var onedropitem = UIPackage.CreateObject("GameUI", "GuildRequestPlayerOne").asCom; onedropitem.GetChild("heroicon").onClick.Add(() => { new HeroSimpleInfo(item.Characterid); }); onedropitem.GetChild("agree").onClick.Add(() => { //同意 Protomsg.CS_ResponseJoinGuildPlayer msg1 = new Protomsg.CS_ResponseJoinGuildPlayer(); msg1.Characterid = item.Characterid; msg1.Result = 1; MyKcp.Instance.SendMsg(GameScene.Singleton.m_ServerName, "CS_ResponseJoinGuildPlayer", msg1); }); onedropitem.GetChild("no").onClick.Add(() => { //拒绝 Protomsg.CS_ResponseJoinGuildPlayer msg1 = new Protomsg.CS_ResponseJoinGuildPlayer(); msg1.Characterid = item.Characterid; msg1.Result = 0; MyKcp.Instance.SendMsg(GameScene.Singleton.m_ServerName, "CS_ResponseJoinGuildPlayer", msg1); }); onedropitem.GetChild("name").asTextField.text = item.Name; onedropitem.GetChild("level").asTextField.text = item.Level + ""; var clientitem = ExcelManager.Instance.GetUnitInfoManager().GetUnitInfoByID(item.Typeid); if (clientitem != null) { onedropitem.GetChild("heroicon").asLoader.url = clientitem.IconPath; } main.GetChild("requestlist").asList.AddChild(onedropitem); } return(true); }
public bool SC_GetGuildInfo(Protomsg.MsgBase d1) { Debug.Log("SC_GetGuildInfo:"); IMessage IMperson = new Protomsg.SC_GetGuildInfo(); Protomsg.SC_GetGuildInfo p1 = (Protomsg.SC_GetGuildInfo)IMperson.Descriptor.Parser.ParseFrom(d1.Datas); //创建界面 if (main != null) { main.Dispose(); } main = UIPackage.CreateObject("GameUI", "GuildInfo").asCom; GRoot.inst.AddChild(main); main.xy = Tool.GetPosition(0.5f, 0.5f); main.GetChild("close").asButton.onClick.Add(() => { this.Destroy(); }); //自己退出公会 main.GetChild("exit").asButton.onClick.Add(() => { Tool.NoticeWindonw("你确定要退出公会吗?", () => { Protomsg.CS_GuildOperate msg1 = new Protomsg.CS_GuildOperate(); msg1.Code = 1;// MyKcp.Instance.SendMsg(GameScene.Singleton.m_ServerName, "CS_GuildOperate", msg1); }); }); //解散公会 main.GetChild("dismiss").asButton.onClick.Add(() => { Tool.NoticeWindonw("你确定要解散公会吗?", () => { Protomsg.CS_GuildOperate msg1 = new Protomsg.CS_GuildOperate(); msg1.Code = 2;// MyKcp.Instance.SendMsg(GameScene.Singleton.m_ServerName, "CS_GuildOperate", msg1); }); }); //修改公告 main.GetChild("editornotice").asButton.onClick.Add(() => { createguildeditornotice(p1.GuildBaseInfo.Notice); }); // main.GetChild("request").asButton.onClick.Add(() => { //查看申请列表 Protomsg.CS_GetJoinGuildPlayer msg1 = new Protomsg.CS_GetJoinGuildPlayer(); msg1.ID = p1.GuildBaseInfo.ID; MyKcp.Instance.SendMsg(GameScene.Singleton.m_ServerName, "CS_GetJoinGuildPlayer", msg1); }); //查看拍卖行 main.GetChild("auction").asButton.onClick.Add(() => { //查看申请列表 Protomsg.CS_GetAuctionItems msg1 = new Protomsg.CS_GetAuctionItems(); MyKcp.Instance.SendMsg(GameScene.Singleton.m_ServerName, "CS_GetAuctionItems", msg1); }); //查看公会地图 main.GetChild("huodong").asButton.onClick.Add(() => { //查看申请列表 Protomsg.CS_GetGuildMapsInfo msg1 = new Protomsg.CS_GetGuildMapsInfo(); msg1.ID = p1.GuildBaseInfo.ID; MyKcp.Instance.SendMsg(GameScene.Singleton.m_ServerName, "CS_GetGuildMapsInfo", msg1); }); //查看公会排名信息 main.GetChild("rank").asButton.onClick.Add(() => { Protomsg.CS_GetGuildRankInfo msg1 = new Protomsg.CS_GetGuildRankInfo(); MyKcp.Instance.SendMsg(GameScene.Singleton.m_ServerName, "CS_GetGuildRankInfo", msg1); }); //-------------------------公会成员-------------------------- //处理排序 Protomsg.GuildChaInfo[] allplayer = new Protomsg.GuildChaInfo[p1.Characters.Count]; int index = 0; foreach (var item in p1.Characters) { allplayer[index++] = item; Debug.Log("SC_GetGuildInfo111 :" + item.Level + " name:" + item.Name); } Array.Sort(allplayer, (a, b) => { if (a.Post > b.Post) { return(-1); } else if (a.Post == b.Post) { if (a.Level > b.Level) { return(-1); } else if (a.Level == b.Level) { //return 0; if (a.PinLevel > b.PinLevel) { return(-1); } else if (a.PinLevel == b.PinLevel) { if (a.PinExperience > b.PinExperience) { return(-1); } else { return(1); } } else { return(1); } } else { return(1); } } else { return(1); } }); foreach (var item in allplayer) { Debug.Log("SC_GetGuildInfo :" + item.Level + " name:" + item.Name); var onedropitem = UIPackage.CreateObject("GameUI", "GuildPlayerOne").asCom; onedropitem.GetChild("heroicon").onClick.Add(() => { new HeroSimpleInfo(item.Characterid); }); //改变职位 onedropitem.GetChild("changepost").onClick.Add(() => { var teamrequest = UIPackage.CreateObject("GameUI", "ChangePost").asCom; GRoot.inst.AddChild(teamrequest); teamrequest.xy = Tool.GetPosition(0.5f, 0.5f); teamrequest.GetChild("close").asButton.onClick.Add(() => { teamrequest.Dispose(); }); AudioManager.Am.Play2DSound(AudioManager.Sound_OpenLittleUI); //SrcUnitTypeID var clientcha = ExcelManager.Instance.GetUnitInfoManager().GetUnitInfoByID(item.Typeid); if (clientcha != null) { teamrequest.GetChild("headicon").asLoader.url = clientcha.IconPath; } teamrequest.GetChild("name").asTextField.text = item.Name; teamrequest.GetChild("level").asTextField.text = item.Level + ""; teamrequest.GetChild("post1").asButton.onClick.Add(() => { //回复拒绝好友请求 Protomsg.CS_ChangePost msg1 = new Protomsg.CS_ChangePost(); msg1.Characterid = item.Characterid; msg1.Post = 1; MyKcp.Instance.SendMsg(GameScene.Singleton.m_ServerName, "CS_ChangePost", msg1); teamrequest.Dispose(); }); teamrequest.GetChild("post9").asButton.onClick.Add(() => { //回复同意组队请求 Protomsg.CS_ChangePost msg1 = new Protomsg.CS_ChangePost(); msg1.Characterid = item.Characterid; msg1.Post = 9; MyKcp.Instance.SendMsg(GameScene.Singleton.m_ServerName, "CS_ChangePost", msg1); teamrequest.Dispose(); }); }); onedropitem.GetChild("add").onClick.Add(() => { //踢出公会 Tool.NoticeWindonw("你确定要把(" + item.Name + ")踢出公会吗?", () => { Protomsg.CS_DeleteGuildPlayer msg1 = new Protomsg.CS_DeleteGuildPlayer(); msg1.Characterid = item.Characterid; MyKcp.Instance.SendMsg(GameScene.Singleton.m_ServerName, "CS_DeleteGuildPlayer", msg1); }); }); onedropitem.GetChild("name").asTextField.text = item.Name; onedropitem.GetChild("level").asTextField.text = item.Level + ""; onedropitem.GetChild("pinlevel").asTextField.text = item.PinLevelName; onedropitem.GetChild("post").asTextField.text = item.PostName; onedropitem.GetChild("experience").asTextField.text = item.PinExperience + "/" + item.PinMaxExperience; var clientitem = ExcelManager.Instance.GetUnitInfoManager().GetUnitInfoByID(item.Typeid); if (clientitem != null) { onedropitem.GetChild("heroicon").asLoader.url = clientitem.IconPath; } main.GetChild("mainlist").asList.AddChild(onedropitem); } //-----------------公会信息------------------ main.GetChild("name").asTextField.text = p1.GuildBaseInfo.Name; main.GetChild("level").asTextField.text = "Lv." + p1.GuildBaseInfo.Level; main.GetChild("experience").asTextField.text = p1.GuildBaseInfo.Experience + "/" + p1.GuildBaseInfo.MaxExperience; main.GetChild("playercount").asTextField.text = p1.GuildBaseInfo.CharacterCount + "/" + p1.GuildBaseInfo.MaxCount; main.GetChild("gonggao").asTextField.text = p1.GuildBaseInfo.Notice; return(true); }