示例#1
0
        static void Postfix(MultiplayerLobbyController __instance)
        {
            Instance = __instance;
#if DEBUG
            Logger.Log("Got MultiplayerLobbyController", LogLevel.Notice);
#endif
        }
示例#2
0
    //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);
    }
示例#3
0
        static void Postfix(MultiplayerLobbyController __instance)
        {
            Instance = __instance;
#if DEBUG
            Logger.log.Notice("Got MultiplayerLobbyController");
#endif
        }
示例#4
0
    private void Awake()
    {
        mlc    = this;
        myInfo = GameObject.Find("PlayerInfo").GetComponent <PlayerInfo>();
        PhotonNetwork.ConnectUsingSettings();

        PhotonNetwork.JoinLobby();

        //myCustomInfo.["PlayerInfo"] =  myInfo;
    }
示例#5
0
    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);
    }
示例#6
0
        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);
            }
        }
示例#7
0
 static void Postfix(MultiplayerLobbyController __instance)
 {
     MPEvents.RaiseLobbyEnvironmentLoaded(__instance);
 }
示例#8
0
    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);
        }
    }