public override void Update(ContentManager Content, GameTime gameTime)
{
switch (level)
{
case Level.W1_L1:
map = Content.Load <TiledMap>("Level_1");
break;
case Level.W1_L2:
map = Content.Load <TiledMap>("Level_2");
break;
case Level.W1_L3:
map = Content.Load <TiledMap>("Level_3");
break;
}
if (isLoaded == false)
{
isLoaded = true;
ventureFont = Content.Load <SpriteFont>("3Dventure");
psFont = Content.Load <SpriteFont>("ps2p");
//bgm = Content.Load<Song>("sacrifice");
heart = Content.Load <Texture2D>("heart_x16");
var viewportAdapter = new BoxingViewportAdapter(game.Window, game.GraphicsDevice, ScreenWidth, ScreenHeight);
camera = new Camera2D(viewportAdapter);
camera.Position = new Vector2(0, ScreenHeight);
foreach (TiledTileLayer layer in map.TileLayers)
{
if (layer.Name == "collision")
{
collisionLayer = layer;
}
}
foreach (TiledObjectGroup group in map.ObjectGroups)
{
if (group.Name == "player_spawn")
{
foreach (TiledObject obj in group.Objects)
{
player = new Player(this);
player.Load(Content);
player.Position = new Vector2(obj.X, obj.Y);
}
}
if (group.Name == "enemy_spawn")
{
foreach (TiledObject obj in group.Objects)
{
Enemy enemy = new Enemy(this);
enemy.Load(Content);
enemy.Position = new Vector2(obj.X, obj.Y);
enemies.Add(enemy);
}
}
if (group.Name == "goal")
{
foreach (TiledObject obj in group.Objects)
{
goal = new Goal(this);
goal.Load(Content);
goal.Position = new Vector2(obj.X, obj.Y);
}
}
if (group.Name == "key")
{
foreach (TiledObject obj in group.Objects)
{
key = new Key(this);
key.Load(Content);
key.Position = new Vector2(obj.X, obj.Y);
}
}
if (group.Name == "lock")
{
foreach (TiledObject obj in group.Objects)
{
LockedWall lockedWall = new LockedWall(this);
lockedWall.Load(Content);
lockedWall.Position = new Vector2(obj.X, obj.Y);
lockedWalls.Add(lockedWall);
}
}
if (group.Name == "extralife")
{
foreach (TiledObject obj in group.Objects)
{
extralife = new ExtraLife(this);
extralife.Load(Content);
extralife.Position = new Vector2(obj.X, obj.Y);
}
}
}
}
if (musicLoad == false)
{
musicLoad = true;
//MediaPlayer.Play(bgm);
}
keyS = Content.Load <SoundEffect>("keys");
splat = Content.Load <SoundEffect>("splat");
keyInst = keyS.CreateInstance();
splatInst = splat.CreateInstance();
float deltaTime = (float)gameTime.ElapsedGameTime.TotalSeconds;
camera.Position = player.Position - new Vector2(ScreenWidth / 2, ScreenHeight / 1.5f);
CameraMechanics();
timer -= deltaTime;
CheckCollisions();
goal.Update(deltaTime);
player.Update(deltaTime);
key.Update(deltaTime);
extralife.Update(deltaTime);
foreach (Enemy e in enemies)
{
e.Update(deltaTime);
e.ParticleUpdate(gameTime);
}
foreach (LockedWall lw in lockedWalls)
{
lw.Update(deltaTime);
}
if (game.AllowInput && game.AllowMenu == true)
{
if (Keyboard.GetState().IsKeyDown(Keys.Enter))
{
AIE.StateManager.PushState("PauseState");
game.ResetInputTimer();
}
}
if (game.AllowMenu == false)
{
if (Keyboard.GetState().IsKeyUp(Keys.Enter))
{
game.AllowMenu = true;
}
}
}