This repository has been archived on 2022-08-05. You can view files and clone it, but cannot push or open issues or pull requests.
LaptopSimulator2015/LevelTest/MainForm.cs

67 lines
1.9 KiB
C#

using LaptopSimulator2015;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Base;
namespace LevelTest
{
public partial class MainForm : Form
{
Minigame level;
public MainForm(Minigame game)
{
Misc.closeGameWindow = () => { level.initGame(minigamePanel, minigameClockT); };
level = game;
InitializeComponent();
minigameClockT.Interval = level.gameClock;
Text = level.name;
Misc.closeGameWindow.Invoke();
}
uint minigameTime;
uint minigamePrevTime;
private void MinigameClockT_Tick(object sender, EventArgs e)
{
minigameTime++;
minigamePanel.Invalidate();
}
private void MinigamePanel_Paint(object sender, PaintEventArgs e)
{
using (GraphicsWrapper w = new GraphicsWrapper(e.Graphics, level.backColor, new Rectangle(Point.Empty, minigamePanel.Size)))
{
w.Clear();
level.draw(w, minigamePanel, minigameClockT, minigameTime);
if (minigameTime != minigamePrevTime)
{
level.gameTick(w, minigamePanel, minigameClockT, minigameTime);
minigamePrevTime = minigameTime;
}
}
}
bool isFClose = true;
private void MainForm_Resize(object sender, EventArgs e)
{
if (WindowState == FormWindowState.Minimized)
{
isFClose = false;
Close();
}
}
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
if (isFClose)
Environment.Exit(0);
}
}
}