public void OnClickConfirmButton()
        {
            if (_selectUserIdSet.Count == 0)
            {
                DialogManager.GetInstance().CreateSingleButtonDialog("您还没有选择群组成员!");
                return;
            }

            if (_groupItem == null)
            {
                CreateGroupChatReq req = new CreateGroupChatReq();
                foreach (var item in _selectUserIdSet)
                {
                    req.userId.Add(item);
                }

                NetworkManager.GetInstance().SendPacket <CreateGroupChatReq>(ENetworkMessage.CREATE_GROUP_CHAT_REQ, req);
            }
            else
            {
                ChangeGroupReq req = new ChangeGroupReq();
                req.changeType = ChangeGroupReq.ChangeType.ADD;
                req.groupId    = _groupItem.groupId;
                foreach (var item in _selectUserIdSet)
                {
                    req.userId.Add(item);
                }

                NetworkManager.GetInstance().SendPacket <ChangeGroupReq>(ENetworkMessage.CHANGE_GROUP_REQ, req);
            }
        }
Beispiel #2
0
        public void ChangeGroup(ChangeGroupPara para, Action <ResponseEvent> callback)
        {
            ChangeGroupReq changeGroupReq = new ChangeGroupReq
            {
                GroupName        = para.GroupName ?? "",
                Owner            = para.Owner ?? "",
                CustomProperties = para.CustomProperties ?? "",
                IsForbidJoin     = para.IsForbidJoin,
                GroupId          = this.GroupInfo?.Id
            };

            if (changeGroupReq.GroupName != "")
            {
                changeGroupReq.ChangeGroupOptionList.Add(ChangeGroupOption.GroupName);
            }
            if (changeGroupReq.Owner != "")
            {
                changeGroupReq.ChangeGroupOptionList.Add(ChangeGroupOption.GroupOwner);
            }
            if (changeGroupReq.CustomProperties != "")
            {
                changeGroupReq.ChangeGroupOptionList.Add(ChangeGroupOption.GroupCustomProperties);
            }
            changeGroupReq.ChangeGroupOptionList.Add(ChangeGroupOption.GroupIsForbidJoin);

            Action <ResponseEvent> cb = eve =>
            {
                this.GroupUtil.SaveGroupInfo(eve, ((ChangeGroupRsp)eve.Data)?.GroupInfo);
                callback?.Invoke(eve);
            };

            Core.Group.ChangeGroup(changeGroupReq, cb);
        }
Beispiel #3
0
        public string ChangeGroup(ChangeGroupReq para, Action <ResponseEvent> callback)
        {
            const int subcmd   = (int)ProtoCmd.ECmdChangeGroupPropertiesReq;
            var       response = new NetResponseCallback(ChangeGroupResponse);
            var       seq      = this.Send(para, subcmd, response, callback);

            Debugger.Log("ChangeGroup_Para {0} {1}", para, seq);
            return(seq);
        }
Beispiel #4
0
        public void OnConfirmSetGroupName(string name)
        {
            ChangeGroupReq req = new ChangeGroupReq
            {
                changeType = ChangeGroupReq.ChangeType.UPDATE_INFO,
                groupId    = _groupItem.groupId,
                groupName  = name,
            };

            NetworkManager.GetInstance().SendPacket <ChangeGroupReq>(ENetworkMessage.CHANGE_GROUP_REQ, req);
        }
Beispiel #5
0
        public void OnClickExitGroup()
        {
            ChangeGroupReq req = new ChangeGroupReq
            {
                changeType = ChangeGroupReq.ChangeType.DELETE,
                groupId    = _groupItem.groupId,
            };

            req.userId.Add(GlobalUser.GetInstance().UserId);

            NetworkManager.GetInstance().SendPacket <ChangeGroupReq>(ENetworkMessage.CHANGE_GROUP_REQ, req);
        }
        public void OnChangeGroupRsp(uint iMessageType, object kParam)
        {
            NetworkMessageParam param = kParam as NetworkMessageParam;
            ChangeGroupReq      req   = param.req as ChangeGroupReq;
            ChangeGroupRsp      rsp   = param.rsp as ChangeGroupRsp;

            if (rsp.resultCode == ChangeGroupRsp.ResultCode.SUCCESS &&
                req.changeType == ChangeGroupReq.ChangeType.DELETE)
            {
                _groupDict.Remove(req.groupId);
                GlobalChat.GetInstance().RemoveChatLog(req.groupId);
                StateManager.GetInstance().ClearStatesExceptBottom(true);
            }
        }