예제 #1
0
        public static void SetLeader(PartyId partyId, BnetGameAccountId memberId)
        {
            if (!BnetParty.IsInParty(partyId))
            {
                return;
            }
            EntityId  partyId2     = partyId.ToEntityId();
            EntityId  memberId2    = BnetEntityId.CreateEntityId(memberId);
            PartyType partyType    = BnetParty.GetPartyType(partyId);
            uint      leaderRoleId = PartyMember.GetLeaderRoleId(partyType);

            BattleNet.AssignPartyRole(partyId2, memberId2, leaderRoleId);
        }
예제 #2
0
        public static PartyMember GetLeader(PartyId partyId)
        {
            if (partyId == null)
            {
                return(null);
            }
            PartyMember[] members   = BnetParty.GetMembers(partyId);
            PartyType     partyType = BnetParty.GetPartyType(partyId);

            foreach (PartyMember partyMember in members)
            {
                if (partyMember.IsLeader(partyType))
                {
                    return(partyMember);
                }
            }
            return(null);
        }
예제 #3
0
        public static bool IsLeader(PartyId partyId)
        {
            if (partyId == null)
            {
                return(false);
            }
            PartyMember myselfMember = BnetParty.GetMyselfMember(partyId);

            if (myselfMember != null)
            {
                PartyType partyType = BnetParty.GetPartyType(partyId);
                if (myselfMember.IsLeader(partyType))
                {
                    return(true);
                }
            }
            return(false);
        }