using MessagePack;
namespace GameCult.Networking
{
///
/// Sample authenticated payload for changing a player-visible name.
///
///
/// This is example application payload riding the shared networking contract,
/// not a claim that CultNet itself is spiritually about chat lobbies forever.
/// Keep the wire tag stable if other runtimes depend on it.
///
[MessagePackObject]
public class ChangeNameMessage : Message
{
///
/// Requested new username.
///
[Key(0)] public string Name = string.Empty;
}
///
/// Sample plain chat payload.
///
///
/// This exists as a dead-simple reference payload for message extension and
/// cross-runtime compatibility tests. Real applications should define their
/// own domain messages and keep those contracts in sync across languages.
///
[MessagePackObject]
public class ChatMessage : Message
{
///
/// Chat text content.
///
[Key(0)] public string Text = string.Empty;
}
}