GEM_ExperienceManager¶
Namespace: wevr.GEM.Runtime
Type: Class
Inherits: NetworkBehaviour
Description¶
This script handles the GEM experience and should be placed within the main scene. It handles the flow of users through the experience, and does the flow-communcation with GEM.
Nested Types¶
EmergencyDataGhostDataGEMZoneDefinitionPlayerPositions
Properties¶
ActiveGhosts¶
Dictionary< int, GhostData > ActiveGhosts { get; set; }
ActiveSection¶
int ActiveSection { get; set; }
EmergencyState¶
EmergencyData EmergencyState { get; set; }
GroupSize¶
uint GroupSize { get; set; }
HasExperienceEnded¶
bool HasExperienceEnded { get; set; }
Initialized¶
bool Initialized { get; set; }
Instance¶
static GEM_ExperienceManager Instance { get; set; }
NextZoneOpened¶
bool NextZoneOpened { get; set; }
OffboardBounds¶
GEMBounds OffboardBounds { get; set; }
OnboardBounds¶
GEMBounds OnboardBounds { get; set; }
PlayersInNextZone¶
ulong[] PlayersInNextZone { get; set; }
Sections¶
GEMZoneDefinition[] Sections { get; set; }
Array of Section Definitions.
StageOffset¶
Vector2 StageOffset { get; set; }
StageZoneBounds¶
Bounds[] StageZoneBounds { get; set; }
StageZoneSequence¶
GEMPluginSettings.GEMZoneSpecification[] StageZoneSequence { get; set; }
TutorialState¶
TutorialStateEnum TutorialState { get; set; }
ViolationFrequencyHz¶
int ViolationFrequencyHz { get; set; }
ZoneTransitionStarted¶
bool ZoneTransitionStarted { get; set; }
Events¶
OnExperienceEnded¶
event Action< ExperienceEndState > OnExperienceEnded
OnReceiveEmergency¶
event Action< EmergencyData > OnReceiveEmergency
OnZoneOpened¶
event ZoneOpenedDelegate OnZoneOpened
OnZoneStarted¶
event ZoneStartedDelegate OnZoneStarted
Methods¶
ContinueToNextStageZone¶
void ContinueToNextStageZone()
Starts the next stage zone. This is to be triggered when the transition is completed.
DebugEnforceNextZoneBlocked_ServerRPC¶
void DebugEnforceNextZoneBlocked_ServerRPC(bool isBlocked)
GetActiveTrackingOrigin¶
GEM_TrackingOrigin GetActiveTrackingOrigin()
GetBoundsState¶
BoundsState GetBoundsState(Vector3 playerWorldPosition)
GetTargetedGameZoneVolume¶
GEM_ZoneBoundaryVolume GetTargetedGameZoneVolume()
Returns the zoneboundaryvolume that the player should at, or if next zone is opened, the next zone's volume.
GetTrackingOrigin¶
GEM_TrackingOrigin GetTrackingOrigin(int gameZoneIndex)
OffloadUser_RPC¶
void OffloadUser_RPC(int gemUserId)
OnDestroy¶
override void OnDestroy()
OnNetworkDespawn¶
override void OnNetworkDespawn()
OnNetworkSpawn¶
override void OnNetworkSpawn()
OnZoneOpened_RPC¶
void OnZoneOpened_RPC(int stageZoneIndex, int sectionIndex, bool opened)
OnZoneStarted_RPC¶
void OnZoneStarted_RPC(int stageZoneIndex, int activeSection)
ReceivedEmergency¶
void ReceivedEmergency(bool enablePassthrough, string emergencyMessage)
SetSimulatedActiveGameZone¶
void SetSimulatedActiveGameZone(int zoneIndex)
Debug function to force set active game zone. Only useable in simulation mode.
SetTutorialComplete¶
void SetTutorialComplete()
SetZoneSequence¶
GEMPluginSettings.GEMZoneSpecification[] SetZoneSequence()
StartNextGameZone¶
void StartNextGameZone()
Starts the next gamezone. This is to be triggered to start the transition.
TryStartSocketListener¶
async Task< GEMSocketListenerRunnable > TryStartSocketListener()
Starts the socket listener so the game server can receive commands from GEM.
UpdatePlayerPosition¶
void UpdatePlayerPosition(int gemUserId, Vector3 playerWorldPos)
ZoneOpenedDelegate¶
delegate void ZoneOpenedDelegate(int ZoneIndex, int SectionIndex, bool IsFree)
ZoneStartedDelegate¶
delegate void ZoneStartedDelegate(int ZoneIndex, int SectionIndex)
Fields¶
DataWasChanged¶
static Action DataWasChanged
OffboardZone¶
GEM_ZoneBoundaryVolume OffboardZone
StartupZone¶
GEMZoneDefinition StartupZone