static void Postfix(MultiplayerLobbyController __instance) { Instance = __instance; #if DEBUG Logger.Log("Got MultiplayerLobbyController", LogLevel.Notice); #endif }
//private string getSerializablePlayerList(PlayerState[] playerStateList) //{ // if(playerStateList == null) // { // Debug.LogError("Player State list is null!"); // return null; // } // SerializedPlayerList list = new SerializedPlayerList(); // for(int i = 0; i < playerStateList.Length; ++i) // { // if(playerStateList[i] != null) // { // list.list[i] = PlayerStateSerializable.Create(playerStateList[i]); // } // else // { // list.list[i] = null; // } // } // return JsonUtility.ToJson(list); //} //private PlayerState[] getPlayerList(string serialList) //{ // if (string.IsNullOrEmpty(serialList)) // { // Debug.LogError("Serial State list is null!"); // return null; // } // SerializedPlayerList serialPlayerList = JsonUtility.FromJson<SerializedPlayerList>(serialList); // PlayerState[] list = new PlayerState[serialPlayerList.list.Length]; // for (int i = 0; i < serialPlayerList.list.Length; ++i) // { // if(serialPlayerList.list[i] != null) // { // PlayerStateSerializable serial = serialPlayerList.list[i]; // list[i] = PlayerState.Create(serial); // } // else // { // list[i] = null; // } // } // return list; //} //private GameContext _createGameContext(CardDeck customerDeck, CardDeck ingredientDeck, PlayerState[] playerList) //{ // GameContext context = GameContext.Create(GameMode.ONLINE, playerList); // context.isMasterClient = PhotonNetwork.isMasterClient; // context.ingredientDeck = ingredientDeck; // context.customerDeck = customerDeck; // return context; //} private void onLeaveRoom() { _roomController.RemoveView(); _lobbyController = new MultiplayerLobbyController(); _lobbyController.Start(onJoinRoom, onGoToMainMenu); }
static void Postfix(MultiplayerLobbyController __instance) { Instance = __instance; #if DEBUG Logger.log.Notice("Got MultiplayerLobbyController"); #endif }
private void Awake() { mlc = this; myInfo = GameObject.Find("PlayerInfo").GetComponent <PlayerInfo>(); PhotonNetwork.ConnectUsingSettings(); PhotonNetwork.JoinLobby(); //myCustomInfo.["PlayerInfo"] = myInfo; }
public void Init(GameStateMachine stateMachine, object changeStateData = null) { _stateMachine = stateMachine; _fader = Singleton.instance.gui.screenFader; _fader.FadeIn(0.35f); _networkManager = Singleton.instance.networkManager; _networkManager.onCustomEvent += onCustomEvent; _networkManager.Connect(); _lobbyController = new MultiplayerLobbyController(); _lobbyController.Start(onJoinRoom, onGoToMainMenu); }
private static void OnSessionConnected() { ConnectedMultiplay = true; connectedPlayers.Clear(); playersManager = Resources.FindObjectsOfTypeAll <MultiplayerPlayersManager>().FirstOrDefault(); Logger.Log($"SessionManager Connected", LogLevel.Info); LobbyContoroller = Resources.FindObjectsOfTypeAll <MultiplayerLobbyController>().FirstOrDefault(); if (LobbyContoroller == null) { Logger.Log($"Unable to get LobbyContoroller", LogLevel.Error); } connectedPlayers.Add(SessionManager.localPlayer); Logger.Log($"ConnectedPlayer---------------", LogLevel.Info); for (int i = 0; i < connectedPlayers.Count; i++) { Logger.Log($"ConnectedPlayer {connectedPlayers[i].userName},{connectedPlayers[i].sortIndex}", LogLevel.Info); } if (Plugin.Instance._rootConfig.MultiplayerProfile != "") { Plugin.Instance._profileChanger.ProfileChange(Plugin.Instance._rootConfig.MultiplayerProfile); } }
static void Postfix(MultiplayerLobbyController __instance) { MPEvents.RaiseLobbyEnvironmentLoaded(__instance); }
private void Update() { if (Game.instance == null) { return; } if (NetGame.isLocal && Game.GetKeyDown(KeyCode.F6)) { if (Time.timeScale == 0f) { Time.timeScale = 1f; } else { Time.timeScale = 0f; } } if (Input.GetKeyDown(KeyCode.F7) && NetGame.instance.players.Count == 2) { MenuCameraEffects.instance.SetCOOPFullScreenViewport(coopCameraToggle); coopCameraToggle = !coopCameraToggle; } if (Game.GetKeyDown(KeyCode.F8)) { if (!GameSave.ProgressMoreOrEqual(Game.instance.currentLevelNumber + 1, 0)) { SubtitleManager.instance.SetProgress(ScriptLocalization.TUTORIAL.CAMERADISABLED, 5f, -1f); return; } ResetKeyFrames(); if (!allowFreeRoam) { Camera gameCam = NetGame.instance.local.players[0].cameraController.gameCam; base.transform.position = gameCam.transform.position; base.transform.rotation = gameCam.transform.rotation; allowFreeRoam = true; cam = MenuCameraEffects.instance.OverrideCamera(base.transform, applyEffects: true); } else { CleanUp(); } } if (NetGame.isLocal && Game.GetKeyDown(KeyCode.T) && Game.GetKey(KeyCode.LeftShift) && Game.GetKey(KeyCode.LeftControl)) { if (Time.timeScale == 1f) { Time.timeScale = 0.5f; } else { Time.timeScale = 1f; } } if (Game.GetKey(KeyCode.LeftBracket)) { MenuCameraEffects.instance.zoom.to *= Mathf.Pow(1.4f, Time.unscaledDeltaTime); } if (Game.GetKey(KeyCode.RightBracket)) { MenuCameraEffects.instance.zoom.to /= Mathf.Pow(1.4f, Time.unscaledDeltaTime); } if (Game.GetKey(KeyCode.Comma)) { CaveRender.fogDensityMultiplier -= 10f * Time.unscaledDeltaTime; } if (Game.GetKey(KeyCode.Period)) { CaveRender.fogDensityMultiplier += 10f * Time.unscaledDeltaTime; } CaveRender.fogDensityMultiplier = Mathf.Clamp(CaveRender.fogDensityMultiplier, 0f, 60f); if (Game.GetKeyDown(KeyCode.F9)) { Camera gameCam2 = cam; if (gameCam2 == null) { gameCam2 = NetGame.instance.local.players[0].cameraController.gameCam; } if (!gameCam2.isActiveAndEnabled) { MultiplayerLobbyController multiplayerLobbyController = Object.FindObjectOfType <MultiplayerLobbyController>(); if (multiplayerLobbyController != null) { gameCam2 = multiplayerLobbyController.gameCamera.gameCam; } } if (gameCam2 != null) { RenderTexture renderTexture2 = gameCam2.targetTexture = new RenderTexture(1024, 576, 16); gameCam2.Render(); RenderTexture.active = renderTexture2; Texture2D texture2D = new Texture2D(renderTexture2.width, renderTexture2.height, TextureFormat.RGB24, mipmap: false); texture2D.ReadPixels(new Rect(0f, 0f, renderTexture2.width, renderTexture2.height), 0, 0); RenderTexture.active = null; gameCam2.targetTexture = null; FileTools.WriteTexture(FileTools.Combine(Application.persistentDataPath, "thumbnail.png"), texture2D); Object.Destroy(renderTexture2); SubtitleManager.instance.SetProgress(ScriptLocalization.Get("WORKSHOP/ThumbnailCaptured"), 2f, 0.5f); } } if (!allowFreeRoam) { return; } if (Game.GetKeyDown(KeyCode.Alpha0)) { ResetKeyFrames(); } for (int i = 0; i < keyframes.Length; i++) { if (Game.GetKeyDown((KeyCode)(49 + i))) { Human human = Human.all[0]; keyframes[i] = new CameraKeyFrame { pos = base.transform.position, targetPos = human.transform.position, rot = base.transform.rotation, targetFocus = (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift) || Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl) || Input.GetKey(KeyCode.Tab)), humanRelative = (Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl) || Input.GetKey(KeyCode.Tab)), frame = ReplayRecorder.instance.currentFrame }; if (keyframes[i].humanRelative) { keyframes[i].pos -= human.transform.position; } ReplayUI.instance.SyncCameras(keyframes); } } if (ReplayRecorder.instance.state == ReplayRecorder.ReplayState.PlayForward || ReplayRecorder.instance.state == ReplayRecorder.ReplayState.PlayBackward) { for (int j = 0; j < keyframes.Length; j++) { CameraKeyFrame cameraKeyFrame = keyframes[j]; if (cameraKeyFrame.frame < 0f) { break; } if (cameraKeyFrame.frame >= (float)ReplayRecorder.instance.currentFrame) { CameraKeyFrame prevKeyframe = (j <= 0) ? cameraKeyFrame : keyframes[j - 1]; float t = Mathf.InverseLerp(prevKeyframe.frame, cameraKeyFrame.frame, ReplayRecorder.instance.currentFrame); SyncCamera(cameraKeyFrame, prevKeyframe, t); return; } } } else if (ReplayRecorder.instance.state == ReplayRecorder.ReplayState.None && keyframes[0].pos != Vector3.zero && keyframes[1].pos != Vector3.zero) { if (Game.GetKeyDown(KeyCode.Space)) { if (animationPhase < 1f) { animationPhase = 1f; } else { animationPhase = 0f; } } if (animationPhase < 1f) { animationPhase += Time.unscaledDeltaTime / duration; SyncCamera(keyframes[1], keyframes[0], animationPhase); return; } } bool flag = Game.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift); int num = flag ? 1 : 10; if (Game.GetKey(KeyCode.W)) { base.transform.position += base.transform.forward * Time.unscaledDeltaTime * num; } if (Game.GetKey(KeyCode.S)) { base.transform.position -= base.transform.forward * Time.unscaledDeltaTime * num; } if (Game.GetKey(KeyCode.A)) { base.transform.position -= base.transform.right * Time.unscaledDeltaTime * num; } if (Game.GetKey(KeyCode.D)) { base.transform.position += base.transform.right * Time.unscaledDeltaTime * num; } if (Game.GetKey(KeyCode.Q)) { base.transform.position += base.transform.up * Time.unscaledDeltaTime * num; } if (Game.GetKey(KeyCode.Z)) { base.transform.position -= base.transform.up * Time.unscaledDeltaTime * num; } Vector2 mouseScrollDelta = Input.mouseScrollDelta; float y = mouseScrollDelta.y; cam.fieldOfView *= Mathf.Pow(1.1f, 0f - y); cam.fieldOfView = Mathf.Clamp(cam.fieldOfView, 5f, 120f); cam.nearClipPlane = 0.05f * Mathf.Pow(1.1f, 0f - Mathf.Log(cam.fieldOfView / 60f, 1.1f)); if (Input.GetMouseButton(2)) { cam.fieldOfView = 60f; cam.nearClipPlane = 0.05f; } float num2 = (!flag) ? 0.2f : 0.1f; float axis = Input.GetAxis("mouse x"); float axis2 = Input.GetAxis("mouse y"); if (axis != 0f || axis2 != 0f) { Vector3 eulerAngles = base.transform.rotation.eulerAngles; if (eulerAngles.x > 180f) { eulerAngles.x -= 360f; } if (eulerAngles.x < -180f) { eulerAngles.x += 360f; } eulerAngles.x -= axis2 * num2; if (eulerAngles.x < -89f) { eulerAngles.x = -89f; } if (eulerAngles.x > 89f) { eulerAngles.x = 89f; } eulerAngles.y += axis * num2; base.transform.rotation = Quaternion.Euler(eulerAngles); } }