public void OnNetworkReady() { // Go through all buffered triggers first if (settings_.replayBufferedTriggers) { CyanEmuMain.SpawnPlayer(false); this.Log("Executing Buffered Triggers"); // This is hacky <_< networkReady_ = true; bufferManager_.ReplayTriggers(); networkReady_ = false; } FireTriggerTypeInternal(VRC_Trigger.TriggerType.OnNetworkReady); networkReady_ = true; this.Log("Executing Deferred Triggers"); foreach (VRC_Trigger.TriggerEvent evt in deferredTriggers_) { ExecuteTrigger(evt); } deferredTriggers_.Clear(); }
private void DrawPlayerButtons() { EditorGUILayout.BeginVertical(boxStyle_); showPlayerButtons_ = EditorGUILayout.Foldout(showPlayerButtons_, playerButtonsFoldoutGuiContent, true); if (showPlayerButtons_) { AddIndent(); // custom name settings_.customLocalPlayerName = EditorGUILayout.TextField(localPlayerCustomNameGuiContent, settings_.customLocalPlayerName); settings_.isInstanceOwner = EditorGUILayout.Toggle(isInstanceOwnerGuiContent, settings_.isInstanceOwner); // TODO have setting for spawning players in the room before you EditorGUI.BeginDisabledGroup(!CyanEmuMain.HasInstance() || !Application.isPlaying); /* * EditorGUI.BeginDisabledGroup(CyanEmuPlayerController.instance != null); * * if (GUILayout.Button("Spawn Local Player")) * { * CyanEmuMain.SpawnPlayer(true); * } * * EditorGUI.EndDisabledGroup(); */ remotePlayerCustomName = EditorGUILayout.TextField(remotePlayerCustomNameGuiContent, remotePlayerCustomName); if (GUILayout.Button("Spawn Remote Player")) { CyanEmuMain.SpawnPlayer(false, remotePlayerCustomName); } List <VRCPlayerApi> playersToRemove = new List <VRCPlayerApi>(); if (Application.isPlaying) { foreach (var player in VRCPlayerApi.AllPlayers) { GUILayout.BeginHorizontal(); GUILayout.Label(player.displayName); GUILayout.Space(5); EditorGUI.BeginDisabledGroup(VRCPlayerApi.AllPlayers.Count == 1 || player.isLocal); if (GUILayout.Button("Remove Player")) { playersToRemove.Add(player); } EditorGUI.EndDisabledGroup(); GUILayout.EndHorizontal(); } for (int i = playersToRemove.Count - 1; i >= 0; --i) { CyanEmuMain.RemovePlayer(playersToRemove[i]); } playersToRemove.Clear(); } EditorGUI.EndDisabledGroup(); RemoveIndent(); } EditorGUILayout.EndVertical(); }