Exemple #1
0
    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);
    }
Exemple #2
0
    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);
    }