Browse Source

move Camera into World

master
Colin McMillen 4 years ago
parent
commit
37c679b704
  1. 5
      Shared/SneakGame.cs
  2. 3
      Shared/World.cs

5
Shared/SneakGame.cs

@ -23,7 +23,6 @@ namespace SemiColinGames {
Scene scene;
World world;
Camera camera = new Camera();
public SneakGame() {
Debug.WriteLine("MonoGame platform: " + PlatformInfo.MonoGamePlatform +
@ -64,11 +63,10 @@ namespace SemiColinGames {
}
private void LoadLevel() {
camera = new Camera();
world?.Dispose();
world = new World(GraphicsDevice, Content.LoadString("levels/demo.json"));
scene?.Dispose();
scene = new Scene(GraphicsDevice, camera);
scene = new Scene(GraphicsDevice, world.Camera);
GC.Collect();
GC.WaitForPendingFinalizers();
@ -112,7 +110,6 @@ namespace SemiColinGames {
float modelTime = (float) gameTime.ElapsedGameTime.TotalSeconds;
Clock.AddModelTime(modelTime);
world.Update(modelTime, input);
camera.Update(world.Player.Position, world.Width);
}
base.Update(gameTime);

3
Shared/World.cs

@ -22,6 +22,7 @@ namespace SemiColinGames {
public Player Player { get; private set; }
public AABB[] CollisionTargets { get; }
public LinesOfSight LinesOfSight { get; private set; }
public Camera Camera { get; }
// Size of World in pixels.
public int Width {
@ -33,6 +34,7 @@ namespace SemiColinGames {
}
public World(GraphicsDevice graphics, string json) {
Camera = new Camera();
LinesOfSight = new LinesOfSight(graphics);
JObject root = JObject.Parse(json);
@ -162,6 +164,7 @@ namespace SemiColinGames {
Reset();
}
LinesOfSight.Update(npcs, CollisionTargets);
Camera.Update(Player.Position, Width);
}
// Draws everything that's behind the player, from back to front.

Loading…
Cancel
Save