/// <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); }
/// <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); }
//--------------------------------------------------------------------------------- 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); }