Пример #1
0
    private void BeginGame()
    {
        if (PhotonNetwork.IsConnected)
        {
            if (PhotonNetwork.IsMasterClient)
            {
                _levelMap = PhotonNetwork.Instantiate(levelPrefab.name, Vector3.zero, Quaternion.identity).GetComponent <LevelMap>();
                _levelMap.CreateMapOverNetwork();
                _levelMap.InstantiatePlayersOverNetwork();
            }
        }
        else
        {
            _levelMap = Instantiate(levelPrefab);
            if (isDebug)
            {
                if (seed == 0)
                {
                    seed = UnityEngine.Random.Range(0, 10000);
                }
                Debug.Log("The seed is " + seed + "\n");
            }
            else
            {
                seed = UnityEngine.Random.Range(0, 10000);
            }
            _levelMap.Seed = seed;
            _levelMap.CreateMap();
            navMesh.GetComponent <NavMeshSurface2d>().BuildNavMesh();

            _playerInstanceLocal     = Instantiate(playerPrefab).GetComponent <PlayerControllerMap>();
            _cameraInstance          = Instantiate(mainCamera);
            _cameraInstance.m_Follow = _playerInstanceLocal.transform;
            _levelMap.PlacePlayer(_playerInstanceLocal, 1);
            _playerInstanceLocal.SetGameManager(this);
        }

        Cursor.visible   = false;
        Cursor.lockState = CursorLockMode.Locked;
    }