mirror of
https://github.com/simtactics/mysimulation.git
synced 2025-07-06 14:40:28 -04:00
Removed NioTSO client and server
- NioTSO client isn't needed because we're using RayLib - Added FreeSO's API server to handle most backend operations
This commit is contained in:
parent
f12ba1502b
commit
22191ce648
591 changed files with 53264 additions and 3362 deletions
69
server/FSO.Server.Protocol/Electron/Packets/BulletinRequest.cs
Executable file
69
server/FSO.Server.Protocol/Electron/Packets/BulletinRequest.cs
Executable file
|
@ -0,0 +1,69 @@
|
|||
using FSO.Common.Serialization;
|
||||
using FSO.Server.Protocol.Electron.Model;
|
||||
using Mina.Core.Buffer;
|
||||
|
||||
namespace FSO.Server.Protocol.Electron.Packets
|
||||
{
|
||||
public class BulletinRequest : AbstractElectronPacket, IActionRequest
|
||||
{
|
||||
public BulletinRequestType Type;
|
||||
public uint TargetNHood; //the bulletin board to use
|
||||
|
||||
//post message
|
||||
public string Title = "";
|
||||
public string Message = "";
|
||||
public uint LotID; //0 if empty - optionally reference a lot in this bulletin post
|
||||
|
||||
//post message, delete message, promote message
|
||||
public uint Value; //bulletin type if post, bulletin ID otherwise.
|
||||
|
||||
public object OType => Type;
|
||||
public bool NeedsValidation => false; //the CAN POST items are one off requests, rather than a state machine.
|
||||
|
||||
public override void Deserialize(IoBuffer input, ISerializationContext context)
|
||||
{
|
||||
Type = input.GetEnum<BulletinRequestType>();
|
||||
TargetNHood = input.GetUInt32();
|
||||
|
||||
if (Type == BulletinRequestType.POST_MESSAGE || Type == BulletinRequestType.POST_SYSTEM_MESSAGE)
|
||||
{
|
||||
Title = input.GetPascalString();
|
||||
Message = input.GetPascalString();
|
||||
LotID = input.GetUInt32();
|
||||
}
|
||||
Value = input.GetUInt32();
|
||||
}
|
||||
|
||||
public override ElectronPacketType GetPacketType()
|
||||
{
|
||||
return ElectronPacketType.BulletinRequest;
|
||||
}
|
||||
|
||||
public override void Serialize(IoBuffer output, ISerializationContext context)
|
||||
{
|
||||
output.PutEnum(Type);
|
||||
output.PutUInt32(TargetNHood);
|
||||
|
||||
if (Type == BulletinRequestType.POST_MESSAGE || Type == BulletinRequestType.POST_SYSTEM_MESSAGE)
|
||||
{
|
||||
output.PutPascalString(Title);
|
||||
output.PutPascalString(Message);
|
||||
output.PutUInt32(LotID);
|
||||
}
|
||||
output.PutUInt32(Value);
|
||||
}
|
||||
}
|
||||
|
||||
public enum BulletinRequestType : byte
|
||||
{
|
||||
GET_MESSAGES = 0,
|
||||
POST_MESSAGE,
|
||||
PROMOTE_MESSAGE, //mayor/admin only.
|
||||
CAN_POST_MESSAGE,
|
||||
CAN_POST_SYSTEM_MESSAGE,
|
||||
|
||||
//admin
|
||||
POST_SYSTEM_MESSAGE,
|
||||
DELETE_MESSAGE,
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue