move Camera into World
This commit is contained in:
parent
536af82beb
commit
37c679b704
@ -23,7 +23,6 @@ namespace SemiColinGames {
|
|||||||
|
|
||||||
Scene scene;
|
Scene scene;
|
||||||
World world;
|
World world;
|
||||||
Camera camera = new Camera();
|
|
||||||
|
|
||||||
public SneakGame() {
|
public SneakGame() {
|
||||||
Debug.WriteLine("MonoGame platform: " + PlatformInfo.MonoGamePlatform +
|
Debug.WriteLine("MonoGame platform: " + PlatformInfo.MonoGamePlatform +
|
||||||
@ -64,11 +63,10 @@ namespace SemiColinGames {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void LoadLevel() {
|
private void LoadLevel() {
|
||||||
camera = new Camera();
|
|
||||||
world?.Dispose();
|
world?.Dispose();
|
||||||
world = new World(GraphicsDevice, Content.LoadString("levels/demo.json"));
|
world = new World(GraphicsDevice, Content.LoadString("levels/demo.json"));
|
||||||
scene?.Dispose();
|
scene?.Dispose();
|
||||||
scene = new Scene(GraphicsDevice, camera);
|
scene = new Scene(GraphicsDevice, world.Camera);
|
||||||
|
|
||||||
GC.Collect();
|
GC.Collect();
|
||||||
GC.WaitForPendingFinalizers();
|
GC.WaitForPendingFinalizers();
|
||||||
@ -112,7 +110,6 @@ namespace SemiColinGames {
|
|||||||
float modelTime = (float) gameTime.ElapsedGameTime.TotalSeconds;
|
float modelTime = (float) gameTime.ElapsedGameTime.TotalSeconds;
|
||||||
Clock.AddModelTime(modelTime);
|
Clock.AddModelTime(modelTime);
|
||||||
world.Update(modelTime, input);
|
world.Update(modelTime, input);
|
||||||
camera.Update(world.Player.Position, world.Width);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
base.Update(gameTime);
|
base.Update(gameTime);
|
||||||
|
@ -22,6 +22,7 @@ namespace SemiColinGames {
|
|||||||
public Player Player { get; private set; }
|
public Player Player { get; private set; }
|
||||||
public AABB[] CollisionTargets { get; }
|
public AABB[] CollisionTargets { get; }
|
||||||
public LinesOfSight LinesOfSight { get; private set; }
|
public LinesOfSight LinesOfSight { get; private set; }
|
||||||
|
public Camera Camera { get; }
|
||||||
|
|
||||||
// Size of World in pixels.
|
// Size of World in pixels.
|
||||||
public int Width {
|
public int Width {
|
||||||
@ -33,6 +34,7 @@ namespace SemiColinGames {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public World(GraphicsDevice graphics, string json) {
|
public World(GraphicsDevice graphics, string json) {
|
||||||
|
Camera = new Camera();
|
||||||
LinesOfSight = new LinesOfSight(graphics);
|
LinesOfSight = new LinesOfSight(graphics);
|
||||||
|
|
||||||
JObject root = JObject.Parse(json);
|
JObject root = JObject.Parse(json);
|
||||||
@ -162,6 +164,7 @@ namespace SemiColinGames {
|
|||||||
Reset();
|
Reset();
|
||||||
}
|
}
|
||||||
LinesOfSight.Update(npcs, CollisionTargets);
|
LinesOfSight.Update(npcs, CollisionTargets);
|
||||||
|
Camera.Update(Player.Position, Width);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draws everything that's behind the player, from back to front.
|
// Draws everything that's behind the player, from back to front.
|
||||||
|
Loading…
Reference in New Issue
Block a user