Exemplo n.º 1
0
 void SelectMember(GuildMemberData data, bool select)
 {
     if (select)
     {
         if (data.memberID == GameCenter.mainPlayerMng.MainPlayerInfo.ServerInstanceID)
         {
             return;                                                                                     //不能操作自己
         }
         if (btnParent != null)
         {
             btnParent.SetActive(true);
         }
         if (GameCenter.guildMng.MyGuildInfo != null)
         {
             GuildMemPosition myPos = GameCenter.guildMng.MyGuildInfo.MyPosition;
             if (btnUpPosition != null)
             {
                 btnUpPosition.isEnabled = (myPos == GuildMemPosition.CHAIRMAN && data.memberPosition != GuildMemPosition.VICECHAIRMAN);
             }
             if (btnDownPosition != null)
             {
                 btnDownPosition.isEnabled = (myPos == GuildMemPosition.CHAIRMAN && data.memberPosition != GuildMemPosition.MEMBER);
             }
             if (btnFourceOut != null)
             {
                 btnFourceOut.isEnabled = (myPos != GuildMemPosition.MEMBER);
             }
             if (btnGiveLeader != null)
             {
                 btnGiveLeader.isEnabled = (myPos == GuildMemPosition.CHAIRMAN);
             }
         }
         curSelectMember = data;
     }
 }
Exemplo n.º 2
0
 public void SetMaster(uint playerId, string playerName)
 {
     Master = new GuildMemberData {
         Name = playerName, PlayerId = playerId
     };
     AmIMaster = Master.Name == Game.Me.Name;
 }
Exemplo n.º 3
0
    /// <summary>
    /// 获取公会成员信息
    /// </summary>
    /// <param name="pt"></param>
    protected void S2C_GetGuildMember(Pt pt)
    {
        //Debug.Log("S2C_GetGuildMember");
        pt_guild_members_info_d381 info = pt as pt_guild_members_info_d381;

        if (info != null)
        {
            guildMemberList.Clear();
            haveViceChairman = false;
            for (int i = 0, max = info.memeber_info_list.Count; i < max; i++)
            {
                GuildMemberData data = new GuildMemberData(info.memeber_info_list[i]);
                guildMemberList.Add(data);
                if (data.memberPosition == GuildMemPosition.VICECHAIRMAN)
                {
                    haveViceChairman = true;
                }
            }
            guildMemberList.Sort(CompareMember);
            if (OnUpdateMemberEvent != null)
            {
                OnUpdateMemberEvent();
            }
        }
    }
Exemplo n.º 4
0
 void ClearData()
 {
     curSelectMember = null;
     if (btnParent != null)
     {
         btnParent.SetActive(false);
     }
     foreach (GuildMemberItem go in memberList.Values)
     {
         Destroy(go.gameObject);
     }
     memberList.Clear();
 }
Exemplo n.º 5
0
        public S_GUILD_MEMBER_LIST(TeraMessageReader reader) : base(reader)
        {
            var membersCount  = reader.ReadInt16();
            var membersOffset = reader.ReadInt16();

            reader.Skip(2); //gname offset
            var masterNameOffset = reader.ReadInt16();

            MasterId = reader.ReadUInt32();
            reader.RepositionAt(masterNameOffset);
            MasterName = reader.ReadTeraString();
            //GuildMembersList = new Dictionary<uint, string>();
            if (membersCount == 0)
            {
                return;
            }
            try
            {
                reader.RepositionAt(membersOffset);

                for (var i = 0; i < membersCount; i++)
                {
                    var m = new GuildMemberData();
                    reader.Skip(2); //curr
                    var next       = reader.ReadUInt16();
                    var nameOffset = reader.ReadInt16();

                    reader.Skip(2); //noteOffset
                    m.PlayerId = reader.ReadUInt32();

                    reader.RepositionAt(nameOffset);
                    m.Name = reader.ReadTeraString();

                    Members.Add(m);
                    //GuildMembersList[playerId] = name;

                    if (next == 0)
                    {
                        return;
                    }
                    reader.RepositionAt(next);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine($"[{nameof(S_GUILD_MEMBER_LIST)}] Failed to parse packet. \nContent:\n{Payload.Array.ToHexString()}\nException:\n{e.Message}\n{e.StackTrace}");
                //WindowManager.ViewModels.NotificationArea.Enqueue("Warning", "A non-fatal error occured. More detailed info has been written to error.log. Please report this to the developer on Discord or Github.", NotificationType.Warning, 10000);
            }
        }
Exemplo n.º 6
0
 protected int CompareMember(GuildMemberData mem1, GuildMemberData mem2)
 {
     if ((int)mem1.memberPosition > (int)mem2.memberPosition)
     {
         return(-1);
     }
     else if ((int)mem1.memberPosition < (int)mem2.memberPosition)
     {
         return(1);
     }
     else
     {
         return(mem2.fightValue - mem1.fightValue);
     }
 }
Exemplo n.º 7
0
    /// <summary>
    /// 获取新成员验证列表
    /// </summary>
    /// <param name="pt"></param>
    protected void S2C_GetNewMemberList(Pt pt)
    {
        newMemberList.Clear();
        //Debug.Log("S2C_GetNewMemberList:d503");
        pt_ask_join_list_d503 info = pt as pt_ask_join_list_d503;

        if (info != null)
        {
            for (int i = 0; i < info.ask_join_info.Count; i++)
            {
                GuildMemberData data = new GuildMemberData(info.ask_join_info[i]);
                newMemberList.Add(data);
            }
            AutoAgreeToggle = (info.open_state == 1);
            AutoAgreeValue  = info.fight_score;
            if (OnGetNewMemberEvent != null)
            {
                OnGetNewMemberEvent();
            }
        }
    }
Exemplo n.º 8
0
    void ShowMemberList()
    {
        HideMemberList();
        List <GuildMemberData> guildMembers = GameCenter.guildMng.GuildMemberList;
        int index = 0;

        //Debug.Log("guildMembers len:"+guildMembers.Count);
        for (int i = 0, max = guildMembers.Count; i < max; i++)
        {
            GuildMemberData data = guildMembers[i];
            GuildMemberItem item = null;
            if (!memberList.TryGetValue(index, out item))
            {
                item = GuildMemberItem.CreateNew(parent.transform, new Vector3(positionInfo.x, positionInfo.y + positionInfo.w * index, -1));
                memberList[index] = item;
            }
            if (item != null)
            {
                item.SetDate(data, SelectMember);
                item.gameObject.SetActive(true);
            }
            index++;
        }
    }
Exemplo n.º 9
0
    public void SetDate(GuildMemberData data, System.Action <GuildMemberData, bool> _callback)
    {
        if (memberName != null)
        {
            memberName.text = data.memberName;
        }
        if (memberLv != null)
        {
            memberLv.text = ConfigMng.Instance.GetLevelDes(data.memberLv);                        // + "pos:"+data.memberPosition.ToString();
        }
        if (presidentIcon != null)
        {
            presidentIcon.enabled = false;
        }
        if (elderIcon != null)
        {
            elderIcon.enabled = false;
        }
        if (vicePresidentIcon != null)
        {
            vicePresidentIcon.enabled = false;
        }
        switch (data.memberPosition)
        {
        case GuildMemPosition.MEMBER:
            break;

        case GuildMemPosition.ELDER:
            if (elderIcon != null)
            {
                elderIcon.enabled = true;
            }
            break;

        case GuildMemPosition.VICECHAIRMAN:
            if (vicePresidentIcon != null)
            {
                vicePresidentIcon.enabled = true;
            }
            break;

        case GuildMemPosition.CHAIRMAN:
            if (presidentIcon != null)
            {
                presidentIcon.enabled = true;
            }
            break;
        }
        if (memberContribution != null)
        {
            memberContribution.text = data.donate.ToString() + "/" + data.allDonate.ToString();
        }
        if (memFightValue != null)
        {
            memFightValue.text = data.fightValue.ToString();
        }
        //if(memState != null)memState.text = data.memberPosition.ToString();
        if (data.recentTime == 0)
        {
            if (memState != null)
            {
                memState.text = ConfigMng.Instance.GetUItext(284);
            }
        }
        else
        {
            if (memState != null)
            {
                memState.text = GameHelper.GetRecentTimeStr(data.recentTime);
            }
        }
        selectCallback  = _callback;
        guildMemberData = data;
        if (toggleSelect != null)
        {
            EventDelegate.Remove(toggleSelect.onChange, OnChange);
            if (data.memberID != GameCenter.mainPlayerMng.MainPlayerInfo.ServerInstanceID)
            {
                EventDelegate.Add(toggleSelect.onChange, OnChange);
            }
        }
        if (btnManage != null)
        {
            btnManage.isEnabled = (data.memberID != GameCenter.mainPlayerMng.MainPlayerInfo.ServerInstanceID);
            UIEventListener.Get(btnManage.gameObject).onClick = ManageMem;
        }
    }
Exemplo n.º 10
0
    public void SetDate(GuildMemberData data)
    {
        if (memberName != null)
        {
            memberName.text = data.memberName;
        }
        if (memberLv != null)
        {
            memberLv.text = ConfigMng.Instance.GetLevelDes(data.memberLv);
        }
        if (memFightValue != null)
        {
            memFightValue.text = data.fightValue.ToString();
        }
        if (memState != null)
        {
            memState.text = (data.isOnline == 1) ? ConfigMng.Instance.GetUItext(284) : ConfigMng.Instance.GetUItext(285);
        }
        if (btnAgree != null)
        {
            UIEventListener.Get(btnAgree.gameObject).onClick = (x) =>
            {
                if (GameCenter.guildMng.MyGuildInfo == null || GameCenter.guildMng.MyGuildInfo.MyPosition == GuildMemPosition.MEMBER)
                {
                    GameCenter.messageMng.AddClientMsg(55);
                    return;
                }
                GameCenter.guildMng.C2S_ReplyJoin(data.memberID, 1);
            }
        }
        ;
        if (btnRefuse != null)
        {
            UIEventListener.Get(btnRefuse.gameObject).onClick = (y) =>
            {
                if (GameCenter.guildMng.MyGuildInfo == null || GameCenter.guildMng.MyGuildInfo.MyPosition == GuildMemPosition.MEMBER)
                {
                    GameCenter.messageMng.AddClientMsg(55);
                    return;
                }
                GameCenter.guildMng.C2S_ReplyJoin(data.memberID, 0);
            }
        }
        ;
    }

    void OnChange()
    {
        if (toggleSelect != null && toggleSelect.value && selectCallback != null)
        {
            selectCallback(guildMemberData, true);
        }
    }

    void ManageMem(GameObject go)
    {
        if (selectCallback != null)
        {
            selectCallback(guildMemberData, true);
        }
    }