From 0aaeaebe2dd78a3d0294e081745597d489c9d363 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Magalh=C3=A3es?= <joamag@gmail.com> Date: Sat, 8 Oct 2022 19:45:21 +0100 Subject: [PATCH] feat: new interface for emulator --- examples/web/index.ts | 24 ++++++++++++------------ examples/web/react/app.tsx | 15 +++++++++------ 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/examples/web/index.ts b/examples/web/index.ts index 6839cae2..ab76459c 100644 --- a/examples/web/index.ts +++ b/examples/web/index.ts @@ -946,6 +946,18 @@ class GameboyEmulator implements Emulator { //Component.get<KeyValue>("diag:framerate").value = `${value} FPS`; } + getName() { + return "Boytacean"; + } + + getVersion() { + return info.version; + } + + getVersionUrl() { + return "https://gitlab.stage.hive.pt/joamag/boytacean/-/blob/master/CHANGELOG.md""; + } + toggleRunning() { if (this.paused) { this.resume(); @@ -983,18 +995,6 @@ class GameboyEmulator implements Emulator { this.start({ engine: null }); } - name() { - return "Boytacean"; - } - - version() { - return info.version; - } - - versionUrl() { - return "https://gitlab.stage.hive.pt/joamag/boytacean/-/blob/master/CHANGELOG.md""; - } - toggleWindow() { this.maximize(); } diff --git a/examples/web/react/app.tsx b/examples/web/react/app.tsx index 5cf547a1..0245b67b 100644 --- a/examples/web/react/app.tsx +++ b/examples/web/react/app.tsx @@ -19,10 +19,13 @@ import { import "./app.css"; export interface Emulator { + getName(): string; + getVersion(): string; + getVersionUrl(): string; + toggleRunning(): void; + pause(): void; + resume(): void; reset(): void; - name(): string; - version(): string; - versionUrl(): string; } type AppProps = { @@ -55,9 +58,9 @@ export const App: FC<AppProps> = ({ emulator, backgrounds = ["264653"] }) => { </Footer> <PanelSplit left={<div>This is the left panel</div>}> <Title - text={emulator.name()} - version={emulator.version()} - versionUrl={emulator.versionUrl()} + text={emulator.getName()} + version={emulator.getVersion()} + versionUrl={emulator.getVersionUrl()} iconSrc={require("../res/thunder.png")} ></Title> <Section> -- GitLab