/// <summary> /// Creates a new world. /// </summary> /// <param name="seed">The world seed.</param> private World( int seed ) { // setup the terrain //_terrain = Terrain.CreateInstance( (int)DateTime.Now.Ticks ); _terrain = Terrain.CreateInstance( seed ); // create the player Vector3 playerPosition = new Vector3( 0.0f, Terrain.MaximumHeight + 2.0f, 0.0f ); _player = Player.CreateInstance( playerPosition ); // create the world manager (it will begin running all by itself) _manager = new WorldManager( this, playerPosition ); }
/// <summary> /// Creates the player instance if it isn't already. /// </summary> /// <param name="position">The player's initial position.</param> /// <returns></returns> public static Player CreateInstance( Vector3 position ) { if ( _instance == null ) { _instance = new Player( position ); } return _instance; }
/// <summary> /// Creates a new player camera. /// </summary> /// <param name="player">The player that is using this camera.</param> public PlayerCamera( Player player ) { _player = player; }
/// <summary> /// Creates a player camera from a free camera. /// </summary> /// <param name="freeCamera">The free camera to use as a basis.</param> /// <param name="player">The player to attach to.</param> /// <returns></returns> internal static PlayerCamera FromFreeCamera( FreeCamera freeCamera, Player player ) { var pc = new PlayerCamera( player ); pc._yaw = freeCamera.Yaw; pc._pitch = freeCamera.Pitch; return pc; }