Exemple #1
0
        /// <summary>
        /// Spawns the player outside using the position of the player.
        /// </summary>
        /// <param name="playerPrefab">The player prefab.</param>
        /// <param name="position">The target position of the player.</param>
        public void SpawnPlayerAndUpdate(GameObject playerPrefab, Vector3 position)
        {
            var cellId = CellManager.GetCellId(position, _currentWorld);

            _currentCell = Data.FindCellRecord(cellId);
            CreatePlayer(playerPrefab, position, out _playerCameraObj);
            CellManager.UpdateCells(_playerCameraObj.transform.position, _currentWorld, true, CellRadiusOnLoad);
            OnExteriorCell(_currentCell);
        }
 public virtual void Update()
 {
     if (_playerCameraObj == null)
     {
         return;
     }
     // The current cell can be null if the player is outside of the defined game world.
     if (_currentCell == null || !_currentCell.IsInterior)
     {
         CellManager.UpdateCells(_playerCameraObj.transform.position, _currentWorld);
     }
     LoadBalancer.RunTasks(DesiredWorkTimePerFrame);
 }