private GameRunning() { player = new Player(); player.SetExtent(0.05f, 0.05f); GameRunning.levelCounter = GameLevels.Levelcount; backGroundImage = new Entity( new StationaryShape(new Vec2F(0.0f, 0.0f), new Vec2F(1.0f, 1.0f)), new Image(Path.Combine("Assets", "Images", "GameSpaceBaground.png"))); GameRunning.cash = 0; GameRunning.cashLabel = new Text($"Cash: {GameRunning.cash}", new Vec2F(0.8f, 0.004f), new Vec2F(0.2f, 0.2f)); GameRunning.cashLabel.SetColor(Color.DarkRed); PassengerCollision.SetPassengerPickupsToNew(); SpaceBus.GetBus().Subscribe(GameEventType.PlayerEvent, player); levelCollisionCheckers = new List <CollisionChecker>(); timerHandlers = new List <TimeHandler>(); levels = Game.GetLevels(); levelobstacles = Game.GetLevelObstacles(); levelplatforms = Game.GetLevelPlatforms(); levelPassengers = new List <List <Passenger> >(); levelDiffrentPlatforms = Game.GetLevelDiffrentPlatforms(); playerXcoordinates = Game.GetPlayerXCoordinates(); playerYcoordinates = Game.GetPlayerYCoordinates(); levelInfo = Game.GetLevelInfo(); passengerListInfo = new List <Dictionary <int, string> >(); for (int i = 0; i < filePath.Length; i++) { levelPassengers.Add(new List <Passenger>()); } for (int cp = 0; cp < filePath.Length; cp++) { CreatePassenger(cp); } for (int clc = 0; clc < levels.Count; clc++) { CreateLevelCollision(clc); } for (int cth = 0; cth < levels.Count; cth++) { CreateTimerHandlers(cth); } player.SetPosition(playerXcoordinates[GameRunning.levelCounter], playerYcoordinates[GameRunning.levelCounter]); }
/// <summary> /// Render the different entities and features. /// </summary> public void RenderState() { backGroundImage.RenderEntity(); GameRunning.cashLabel.RenderText(); foreach (Passenger passenger in levelPassengers[GameRunning.levelCounter]) { passenger.RenderPassenger(); } foreach (Passenger passenger in PassengerCollision.GetPassengerPickups()) { passenger.RenderPassenger(); } player.RenderPlayer(); levels[GameRunning.levelCounter].RenderEntities(); ObstacleCollision.GetExplosion().RenderAnimations(); }
/// <summary> /// Adds cash and the label /// </summary> private void AddCash() { foreach (Passenger passenger in PassengerCollision.GetPassengerPickups()) { if (passenger.GetreleasedWithinTimer()) { GameRunning.cash += passenger.GetCash(); GameRunning.cashLabel = new Text($"Cash: {GameRunning.cash}", new Vec2F(0.8f, 0.004f), new Vec2F(0.2f, 0.2f)); GameRunning.cashLabel.SetColor(Color.DarkRed); passenger.SetReleasedWithinTimer(false); } else if (passenger.PickedUp && passenger.GetReleasePlatformChar() == '^' && player.GetsShape().Position.Y >= 0.98f && GameRunning.levelCounter == levelInfo.Count - 1 && passenger.GetChecker()) { GameRunning.cash += passenger.GetCash(); GameRunning.cashLabel = new Text($"Cash: {GameRunning.cash}", new Vec2F(0.8f, 0.004f), new Vec2F(0.2f, 0.2f)); GameRunning.cashLabel.SetColor(Color.DarkRed); passenger.SetChecker(false); } } }