using Base; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace LaptopSimulator2015 { public interface Minigame { /// /// The minigames displayed name, found in installers title and tooltips /// string name { get; } /// /// The minigames icon, found in installers and on desktop /// Image icon { get; } /// /// Added to credits, to be used for crediting authours of used icons etc /// string[] credits { get; } /// /// Level on which the Minigame becomes visible /// int availableAfter { get; } /// /// Defines the delay between frames /// int gameClock { get; } /// /// Color to be painted to the Background before calling the draw method /// Color backColor { get; } /// /// In what quality to draw the frames /// bool isLowQuality { get; } /// /// DO NOT CHANGE! INTERNAL USE ONLY! /// Panel desktopIcon { get; set; } /// /// Called before each time before gameTick, to be used for resetting/initializing variables /// /// A temporary Graphics object, should not be used /// The panel on which the minigame is displayed /// The timer used for scheduling frames void initGame(Panel minigamePanel, Timer minigameTimer); /// /// Called physics frame /// /// Graphics object, to be used for drawing the scene /// The panel on which the minigame is displayed /// The timer used for scheduling frames /// The amount of total displayed frames void gameTick(GraphicsWrapper g, Panel minigamePanel, Timer minigameTimer, uint minigameTime); /// /// Called graphics frame /// /// Graphics object, to be used for drawing the scene /// The panel on which the minigame is displayed /// The timer used for scheduling frames /// The amount of total displayed frames void draw(GraphicsWrapper g, Panel minigamePanel, Timer minigameTimer, uint minigameTime); } public interface Level : Minigame { /// /// Description shown on the installers first page /// string installerText { get; } /// /// Amount of seconds the minigame is to be played times ten /// int installerProgressSteps { get; } } public interface Goal : Minigame { /// /// The level on which the Goal is reached /// int playableAfter { get; } /// /// The text displayed after the Minigame becomes visible /// string[] availableText { get; } /// /// The text displayed after finding out about the fact the Goal is not reached /// string[] incompleteText { get; } /// /// The text displayed after Goal is reached (NOT after the goals minigame is played) /// string[] completeText { get; } } }