// <auto-generated />
// Generated by tools/codegen/Generate-ProtoContractConstants.ps1.

namespace IGP.UnitySDK.Generated
{
    internal static class IGPProtoContracts
    {
        internal static class ArenaHostBootstrap
        {
            public const string Package = "curio.desktop.hostbridge.bootstrap";

            internal static class BootstrapRequest
            {
                public const int RedeemLaunchTicket = 1;
            }

            internal static class RedeemLaunchTicketRequest
            {
                public const int Ticket = 1;
                public const int Secret = 2;
            }

            internal static class BootstrapResponse
            {
                public const int RedeemLaunchTicket = 1;
                public const int Error = 2;
            }

            internal static class RedeemLaunchTicketResponse
            {
                public const int RoomId = 1;
                public const int RoomCode = 2;
                public const int PlayerId = 3;
                public const int Player = 4;
                public const int Token = 5;
                public const int ExpiresAt = 6;
                public const int ServerUrl = 7;
                public const int SessionEndpoint = 8;
                public const int SessionSecret = 9;
                public const int ReliableMessageMaxBytes = 10;
                public const int ReliableChunkMaxBytes = 11;
                public const int KcpDataPlanePayloadMaxBytes = 12;
                public const int KcpFrameMaxBytes = 13;
            }

            internal static class BootstrapPlayer
            {
                public const int Id = 1;
                public const int Name = 2;
            }

            internal static class BootstrapError
            {
                public const int Code = 1;
                public const int Message = 2;
            }
        }

        internal static class ArenaHostSession
        {
            public const string Package = "curio.desktop.hostbridge.session";

            internal static class SessionClientMessage
            {
                public const int Attach = 1;
                public const int Command = 2;
            }

            internal static class SessionAttachRequest
            {
                public const int Secret = 1;
                public const int RoomId = 2;
                public const int PlayerId = 3;
            }

            internal static class SessionCommandRequest
            {
                public const int RequestId = 1;
                public const int Command = 2;
                public const int BoolValue = 3;
                public const int StringValue = 4;
                public const int MessageType = 5;
                public const int TargetPlayerId = 6;
                public const int ContentJson = 7;
                public const int Reliable = 8;
                public const int Timestamp = 9;
                public const int Scope = 10;
                public const int Key = 11;
                public const int RpcName = 12;
                public const int Mode = 13;
            }

            internal static class SessionServerMessage
            {
                public const int Attached = 1;
                public const int RoomSnapshot = 2;
                public const int CommandResult = 3;
                public const int ArenaMessage = 4;
                public const int RoomEvent = 5;
                public const int Detached = 6;
                public const int Error = 7;
                public const int DataPlane = 8;
            }

            internal static class SessionAttachedResponse
            {
                public const int RoomId = 1;
                public const int PlayerId = 2;
            }

            internal static class SessionRoomSnapshotEvent
            {
                public const int ConnectionStatus = 1;
                public const int Room = 2;
                public const int CurrentPlayer = 3;
            }

            internal static class RoomSnapshot
            {
                public const int Id = 1;
                public const int Code = 2;
                public const int Name = 3;
                public const int GameId = 4;
                public const int Status = 5;
                public const int HostId = 6;
                public const int MaxPlayers = 7;
                public const int Players = 8;
                public const int Teams = 9;
                public const int MapPublicId = 10;
                public const int MapVersionId = 11;
            }

            internal static class PlayerSnapshot
            {
                public const int Id = 1;
                public const int Name = 2;
                public const int IsReady = 3;
                public const int TeamId = 4;
                public const int IsBot = 5;
            }

            internal static class TeamSnapshot
            {
                public const int Id = 1;
                public const int Name = 2;
                public const int Color = 3;
                public const int MaxPlayers = 4;
                public const int PlayerCount = 5;
            }

            internal static class SessionCommandResponse
            {
                public const int RequestId = 1;
                public const int Success = 2;
                public const int Message = 3;
                public const int ContentJson = 4;
            }

            internal static class SessionArenaMessageEvent
            {
                public const int MessageType = 1;
                public const int RoomId = 2;
                public const int PlayerId = 3;
                public const int TargetPlayerId = 4;
                public const int ContentJson = 5;
                public const int Reliable = 6;
                public const int Timestamp = 7;
            }

            internal static class SessionDataPlaneDescriptor
            {
                public const int Mode = 1;
                public const int Host = 2;
                public const int Port = 3;
                public const int Token = 4;
                public const int ExpiresAtUnixMs = 5;
                public const int ReliableMessageMaxBytes = 6;
                public const int ReliableChunkMaxBytes = 7;
                public const int KcpDataPlanePayloadMaxBytes = 8;
                public const int KcpFrameMaxBytes = 9;
            }

            internal static class SessionDataPlaneResponse
            {
                public const int RequestId = 1;
                public const int Success = 2;
                public const int Message = 3;
                public const int Descriptor = 4;
            }

            internal static class SessionRoomEvent
            {
                public const int EventType = 1;
                public const int RoomId = 2;
                public const int Player = 3;
                public const int PreviousHostId = 4;
                public const int CurrentHostId = 5;
                public const int PreviousStatus = 6;
                public const int CurrentStatus = 7;
            }

            internal static class SessionDetachedEvent
            {
                public const int Reason = 1;
            }

            internal static class SessionError
            {
                public const int Code = 1;
                public const int Message = 2;
            }

            internal enum SessionCommandType
            {
                Unspecified = 0,
                SetReady = 1,
                LeaveRoom = 2,
                StartGame = 3,
                ChangeTeam = 4,
                RefreshRoom = 5,
                SendArenaMessage = 6,
                RequestDataPlane = 7,
                SendPing = 8,
                SetState = 9,
                GetState = 10,
                ResetState = 11,
                RegisterRpc = 12,
                UnregisterRpc = 13,
                CallRpc = 14,
                FinishGame = 15,
                RematchGame = 16,
                UnlockAchievement = 17,
                ReportAchievementProgress = 18,
                ClearAchievements = 19,
            }

            internal enum SessionDataPlaneMode
            {
                Unspecified = 0,
                DirectKcp = 1,
            }

            internal enum SessionRoomEventType
            {
                Unspecified = 0,
                PlayerJoined = 1,
                PlayerLeft = 2,
                HostTransferred = 3,
                GameStarted = 4,
                GameEnded = 5,
            }
        }

        internal static class CurioSdk
        {
            public const string Package = "curio.sdk";

            internal static class JoinRoomRequest
            {
                public const int RoomId = 1;
                public const int PlayerId = 2;
                public const int Metadata = 3;
            }

            internal static class RoomEvent
            {
                public const int PlayerJoined = 1;
                public const int PlayerLeft = 2;
                public const int PlayerStateChanged = 3;
                public const int GameStarting = 4;
                public const int GameStarted = 5;
                public const int RoomUpdated = 6;
            }

            internal static class PlayerJoined
            {
                public const int Player = 1;
            }

            internal static class PlayerLeft
            {
                public const int PlayerId = 1;
            }

            internal static class PlayerStateChanged
            {
                public const int PlayerId = 1;
                public const int State = 2;
            }

            internal static class GameStarting
            {
                public const int Countdown = 1;
            }

            internal static class GameStarted
            {
                public const int ConnectionInfo = 1;
            }

            internal static class RoomUpdated
            {
                public const int Room = 1;
            }

            internal static class PlayerStateUpdate
            {
                public const int Key = 1;
                public const int StringValue = 2;
                public const int IntValue = 3;
                public const int BoolValue = 4;
            }

            internal static class GameEvent
            {
                public const int EventType = 1;
                public const int Data = 2;
            }

            internal static class Ack
            {
                public const int Success = 1;
                public const int Message = 2;
            }
        }

        internal static class DesktopSession
        {
            public const string Package = "curio.desktop.sdk.session";

            internal static class DesktopSessionClientMessage
            {
                public const int Attach = 1;
                public const int Command = 2;
            }

            internal static class DesktopSessionAttachRequest
            {
                public const int ProtocolVersion = 1;
                public const int SdkVersion = 2;
                public const int Engine = 3;
                public const int EngineVersion = 4;
                public const int AppId = 5;
                public const int ExecutablePath = 6;
                public const int ProcessId = 7;
            }

            internal static class DesktopSessionCommandRequest
            {
                public const int RequestId = 1;
                public const int Command = 2;
                public const int StringValue = 3;
                public const int ContentJson = 4;
            }

            internal static class DesktopSessionServerMessage
            {
                public const int Attached = 1;
                public const int CommandResult = 2;
                public const int Detached = 3;
                public const int Error = 4;
                public const int AntiAddictionChanged = 5;
            }

            internal static class DesktopSessionCapabilitySet
            {
                public const int Achievements = 1;
                public const int UserContext = 3;
                public const int HostedBootstrap = 4;
                public const int GameAuthorization = 5;
                public const int AntiAddiction = 6;
            }

            internal static class DesktopSessionUserProfile
            {
                public const int Nickname = 1;
                public const int DisplayTag = 2;
                public const int AvatarAvailable = 3;
                public const int AvatarVersion = 4;
            }

            internal static class DesktopSessionAttachedResponse
            {
                public const int DesktopSessionId = 1;
                public const int UserId = 2;
                public const int AccountId = 3;
                public const int LoginState = 4;
                public const int AppId = 5;
                public const int Capabilities = 6;
                public const int ValidatedExecutablePath = 7;
                public const int InstallRoot = 8;
                public const int Message = 9;
                public const int UserProfile = 10;
                public const int ChannelState = 11;
                public const int AttachState = 12;
                public const int AttachSource = 13;
                public const int AntiAddictionStatusJson = 14;
                public const int AntiAddictionEventJson = 15;
                public const int DesktopProtocolVersion = 16;
            }

            internal static class DesktopSessionCommandResponse
            {
                public const int RequestId = 1;
                public const int Success = 2;
                public const int Code = 3;
                public const int Message = 4;
                public const int ContentJson = 5;
                public const int ContentBytes = 6;
            }

            internal static class DesktopSessionDetachedEvent
            {
                public const int Reason = 1;
            }

            internal static class DesktopSessionAntiAddictionChangedEvent
            {
                public const int AntiAddictionStatusJson = 1;
                public const int AntiAddictionEventJson = 2;
            }

            internal static class DesktopSessionError
            {
                public const int Code = 1;
                public const int Message = 2;
                public const int Category = 3;
                public const int ChannelState = 4;
                public const int AttachState = 5;
            }

            internal enum DesktopSessionCommandType
            {
                Unspecified = 0,
                PingDesktopSession = 1,
                UnlockAchievement = 2,
                ReportAchievementProgress = 3,
                GetDesktopCapabilities = 5,
                RequestGameAuthorization = 6,
                GetDesktopUserAvatarInfo = 7,
                GetDesktopUserAvatar = 8,
                GetDesktopAntiAddictionStatus = 9,
                GetDesktopAntiAddictionEvent = 10,
                GetDesktopAntiAddictionAgeRange = 11,
                GetDesktopAntiAddictionRemainingTime = 12,
                GetDesktopAntiAddictionProfile = 13,
                CreateDesktopAntiAddictionRealNameUrl = 15,
                ClearAchievements = 16,
                RequestHostedBootstrap = 18,
            }
        }

    }
}

