1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
- #include <AzCore/Serialization/EditContext.h>
- #include <AzCore/Serialization/SerializeContext.h>
- #include <Multiplayer/Session/SessionConfig.h>
- namespace Multiplayer
- {
- void SessionConfig::Reflect(AZ::ReflectContext* context)
- {
- if (auto serializeContext = azrtti_cast<AZ::SerializeContext*>(context))
- {
- serializeContext->Class<SessionConfig>()
- ->Version(0)
- ->Field("creationTime", &SessionConfig::m_creationTime)
- ->Field("terminationTime", &SessionConfig::m_terminationTime)
- ->Field("creatorId", &SessionConfig::m_creatorId)
- ->Field("sessionProperties", &SessionConfig::m_sessionProperties)
- ->Field("matchmakingData", &SessionConfig::m_matchmakingData)
- ->Field("sessionId", &SessionConfig::m_sessionId)
- ->Field("sessionName", &SessionConfig::m_sessionName)
- ->Field("dnsName", &SessionConfig::m_dnsName)
- ->Field("ipAddress", &SessionConfig::m_ipAddress)
- ->Field("port", &SessionConfig::m_port)
- ->Field("maxPlayer", &SessionConfig::m_maxPlayer)
- ->Field("currentPlayer", &SessionConfig::m_currentPlayer)
- ->Field("status", &SessionConfig::m_status)
- ->Field("statusReason", &SessionConfig::m_statusReason)
- ;
- if (AZ::EditContext* editContext = serializeContext->GetEditContext())
- {
- editContext->Class<SessionConfig>("SessionConfig", "Properties describing a session")
- ->ClassElement(AZ::Edit::ClassElements::EditorData, "")
- ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly)
- ->DataElement(AZ::Edit::UIHandlers::Default, &Multiplayer::SessionConfig::m_creationTime,
- "CreationTime", "A time stamp indicating when this session was created. Format is a number expressed in Unix time as milliseconds.")
- ->DataElement(AZ::Edit::UIHandlers::Default, &Multiplayer::SessionConfig::m_terminationTime,
- "TerminationTime", "A time stamp indicating when this data object was terminated. Same format as creation time.")
- ->DataElement(AZ::Edit::UIHandlers::Default, &Multiplayer::SessionConfig::m_creatorId,
- "CreatorId", "A unique identifier for a player or entity creating the session.")
- ->DataElement(AZ::Edit::UIHandlers::Default, &Multiplayer::SessionConfig::m_sessionProperties,
- "SessionProperties", "A collection of custom properties for a session.")
- ->DataElement(AZ::Edit::UIHandlers::Default, &Multiplayer::SessionConfig::m_matchmakingData,
- "MatchmakingData", "The matchmaking process information that was used to create the session.")
- ->DataElement(AZ::Edit::UIHandlers::Default, &Multiplayer::SessionConfig::m_sessionId,
- "SessionId", "A unique identifier for the session.")
- ->DataElement(AZ::Edit::UIHandlers::Default, &Multiplayer::SessionConfig::m_sessionName,
- "SessionName", "A descriptive label that is associated with a session.")
- ->DataElement(AZ::Edit::UIHandlers::Default, &Multiplayer::SessionConfig::m_dnsName,
- "DnsName", "The DNS identifier assigned to the instance that is running the session.")
- ->DataElement(AZ::Edit::UIHandlers::Default, &Multiplayer::SessionConfig::m_ipAddress,
- "IpAddress", "The IP address of the session.")
- ->DataElement(AZ::Edit::UIHandlers::Default, &Multiplayer::SessionConfig::m_port,
- "Port", "The port number for the session.")
- ->DataElement(AZ::Edit::UIHandlers::Default, &Multiplayer::SessionConfig::m_maxPlayer,
- "MaxPlayer", "The maximum number of players that can be connected simultaneously to the session.")
- ->DataElement(AZ::Edit::UIHandlers::Default, &Multiplayer::SessionConfig::m_currentPlayer,
- "CurrentPlayer", "Number of players currently in the session.")
- ->DataElement(AZ::Edit::UIHandlers::Default, &Multiplayer::SessionConfig::m_status,
- "Status", "Current status of the session.")
- ->DataElement(AZ::Edit::UIHandlers::Default, &Multiplayer::SessionConfig::m_statusReason,
- "StatusReason", "Provides additional information about session status.");
- }
- }
- }
- } // namespace Multiplayer
|