mirror of
https://github.com/cheat-engine/cheat-engine
synced 2026-08-15 02:26:08 -04:00
57 lines
1.2 KiB
ObjectPascal
Executable file
57 lines
1.2 KiB
ObjectPascal
Executable file
unit GameBase;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils;
|
|
|
|
type
|
|
TGameBase=class(TObject)
|
|
private
|
|
fOnWin: TNotifyEvent;
|
|
fticking: boolean;
|
|
public
|
|
function isKeyDown(key:dword): boolean;
|
|
procedure gametick(currentTime: qword; diff: integer); virtual;
|
|
procedure render; virtual;
|
|
function KeyHandler(TGamePanel: TObject; keventtype: integer; Key: Word; Shift: TShiftState):boolean; virtual;
|
|
procedure gamewon;
|
|
property OnWin: TNotifyEvent read fOnWin write fOnWin;
|
|
property ticking: boolean read fticking write fticking;
|
|
end;
|
|
|
|
var usedcheats: boolean; //secret tutorial: make this false (hint: it's a static)
|
|
|
|
implementation
|
|
|
|
uses windows;
|
|
|
|
procedure TGameBase.gamewon;
|
|
begin
|
|
if assigned(fOnWin) then
|
|
fOnWin(self);
|
|
end;
|
|
|
|
function TGameBase.isKeyDown(key:dword): boolean;
|
|
begin
|
|
result:=(GetKeyState(key) and (1<<15))>0;
|
|
end;
|
|
|
|
function TGameBase.KeyHandler(TGamePanel: TObject; keventtype: integer; Key: Word; Shift: TShiftState):boolean;
|
|
begin
|
|
result:=false;
|
|
end;
|
|
|
|
procedure TGameBase.gametick(currentTime: qword; diff: integer);
|
|
begin
|
|
end;
|
|
|
|
procedure TGameBase.render;
|
|
begin
|
|
end;
|
|
|
|
|
|
end.
|
|
|