2020-05-30 19:41:49 +02:00
|
|
|
using System.Numerics;
|
|
|
|
using Microsoft.Xna.Framework;
|
|
|
|
using Microsoft.Xna.Framework.Graphics;
|
2020-05-31 17:24:10 +02:00
|
|
|
using MLEM.Cameras;
|
2020-05-30 19:41:49 +02:00
|
|
|
using MLEM.Extensions;
|
|
|
|
using MLEM.Font;
|
|
|
|
using MLEM.Startup;
|
2020-05-31 17:24:10 +02:00
|
|
|
using ThemeParkClicker.Attractions;
|
2020-05-30 19:41:49 +02:00
|
|
|
|
|
|
|
namespace ThemeParkClicker {
|
|
|
|
public class GameImpl : MlemGame {
|
|
|
|
|
|
|
|
public static GameImpl Instance { get; private set; }
|
|
|
|
public BigInteger Tickets = 200;
|
2020-05-31 17:24:10 +02:00
|
|
|
public ParkMap Map { get; private set; }
|
|
|
|
public Camera Camera { get; private set; }
|
2020-05-30 19:41:49 +02:00
|
|
|
public Ui Ui { get; private set; }
|
|
|
|
|
|
|
|
public GameImpl() {
|
|
|
|
Instance = this;
|
|
|
|
}
|
|
|
|
|
|
|
|
protected override void LoadContent() {
|
|
|
|
base.LoadContent();
|
|
|
|
this.Ui = new Ui(this.UiSystem);
|
2020-05-31 17:24:10 +02:00
|
|
|
this.Map = new ParkMap(10, 10);
|
|
|
|
this.Camera = new Camera(this.GraphicsDevice) {
|
|
|
|
Scale = 4,
|
|
|
|
AutoScaleWithScreen = true
|
|
|
|
};
|
|
|
|
|
|
|
|
this.Map.Place(Point.Zero, Attraction.Attractions["Carousel"]());
|
|
|
|
this.Map.Place(new Point(1, 0), Attraction.Attractions["Carousel"]());
|
|
|
|
this.Map.Place(new Point(3, 0), Attraction.Attractions["Carousel"]());
|
|
|
|
this.Map.Place(new Point(1,2), Attraction.Attractions["FoodCourt"]());
|
2020-05-30 19:41:49 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public string DisplayTicketCount() {
|
|
|
|
return this.Tickets.ToString();
|
|
|
|
}
|
|
|
|
|
2020-05-31 00:44:15 +02:00
|
|
|
protected override void DoUpdate(GameTime gameTime) {
|
|
|
|
base.DoUpdate(gameTime);
|
2020-05-31 17:24:10 +02:00
|
|
|
this.Map.Update(gameTime);
|
2020-05-31 00:44:15 +02:00
|
|
|
this.Ui.Update(gameTime);
|
|
|
|
}
|
|
|
|
|
2020-05-30 19:41:49 +02:00
|
|
|
protected override void DoDraw(GameTime gameTime) {
|
|
|
|
this.GraphicsDevice.Clear(ColorExtensions.FromHex(0x86cfcb));
|
|
|
|
base.DoDraw(gameTime);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|