예제 #1
0
 /// <summary>
 /// Request to create a new group. If the group is successfully
 /// created, L$100 will automatically be deducted
 /// </summary>
 /// <param name="group">Group struct containing the new group info</param>
 public void RequestCreateGroup(Group group)
 {
     libsecondlife.Packets.CreateGroupRequestPacket cgrp = new CreateGroupRequestPacket();
     //Fill in agent data
     cgrp.AgentData = new CreateGroupRequestPacket.AgentDataBlock();
     cgrp.AgentData.AgentID = Client.Self.AgentID;
     cgrp.AgentData.SessionID = Client.Self.SessionID;
     //Fill in group data
     cgrp.GroupData = new CreateGroupRequestPacket.GroupDataBlock();
     cgrp.GroupData.AllowPublish = group.AllowPublish;
     cgrp.GroupData.Charter = Helpers.StringToField(group.Charter);
     cgrp.GroupData.InsigniaID = group.InsigniaID;
     cgrp.GroupData.MaturePublish = group.MaturePublish;
     cgrp.GroupData.MembershipFee = group.MembershipFee;
     cgrp.GroupData.Name = Helpers.StringToField(group.Name);
     cgrp.GroupData.OpenEnrollment = group.OpenEnrollment;
     cgrp.GroupData.ShowInList = group.ShowInList;
     //Send it
     Client.Network.SendPacket(cgrp);
 }
예제 #2
0
        /// <summary>
        /// Request to create a new group. If the group is successfully
        /// created, L$100 will automatically be deducted
        /// </summary>
        /// <remarks>Subscribe to <code>OnGroupCreated</code> event to receive confirmation.</remarks>
        /// <param name="group">Group struct containing the new group info</param>
        public void RequestCreateGroup(Group group)
        {
            OpenMetaverse.Packets.CreateGroupRequestPacket cgrp = new CreateGroupRequestPacket();
            cgrp.AgentData = new CreateGroupRequestPacket.AgentDataBlock();
            cgrp.AgentData.AgentID = Client.Self.AgentID;
            cgrp.AgentData.SessionID = Client.Self.SessionID;

            cgrp.GroupData = new CreateGroupRequestPacket.GroupDataBlock();
            cgrp.GroupData.AllowPublish = group.AllowPublish;
            cgrp.GroupData.Charter = Utils.StringToBytes(group.Charter);
            cgrp.GroupData.InsigniaID = group.InsigniaID;
            cgrp.GroupData.MaturePublish = group.MaturePublish;
            cgrp.GroupData.MembershipFee = group.MembershipFee;
            cgrp.GroupData.Name = Utils.StringToBytes(group.Name);
            cgrp.GroupData.OpenEnrollment = group.OpenEnrollment;
            cgrp.GroupData.ShowInList = group.ShowInList;

            Client.Network.SendPacket(cgrp);
        }
예제 #3
0
        //---------------------------------------------------------------------------------

        internal object HandleRequestPacket(ServerConnectorContext serverConnectorContext, int module, int command, CreateGroupRequestPacket packet)
        {
            string errMsg = Program.ChatServerModel.CreateGroup(packet.GroupName, serverConnectorContext.Id.ToString());

            var resPacket = new CreateGroupResponsePacket()
            {
                RetCode = errMsg == null,
                Message = errMsg ?? $"Group {packet.GroupName} Created OK",
            };

            return(resPacket);
        }