Add view model

This commit is contained in:
aNNiMON 2024-03-02 22:54:02 +02:00
parent d0c76ef906
commit 92c483fc2f
4 changed files with 71 additions and 0 deletions

View File

@ -0,0 +1,5 @@
export class FadeInfo {
public fadeIn: boolean = false;
public fadeOut: boolean = false;
public duration: number = 0;
}

22
src/view/model/Menu.ts Normal file
View File

@ -0,0 +1,22 @@
import { MenuItem } from "./MenuItem";
export class Menu {
items: MenuItem[];
constructor(private title: string) {
this.title = title;
this.items = [];
}
public getTitle(): string { return this.title; }
public getItems(): MenuItem[] { return this.items; }
public addItem(name: string, position: number): void {
this.items.push({ name: name, position: position });
}
public getPosition(itemIndex: number) {
return this.items[itemIndex].position;
}
}

View File

@ -0,0 +1,4 @@
export interface MenuItem {
name: string;
position: number;
}

View File

@ -0,0 +1,40 @@
import { FadeInfo } from "./FadeInfo"
import { Menu } from "./Menu"
export interface ViewModel {
text(text: string): void
textW(whoid: string, text: string): void
meet(whoid: string, name: string): void
background(type: string, name: string, effect: string): void
sprite(whoid: string, params: string, position: string, alias: string, effect: string): void
hideSprite(whoid: string, effect: string): void
menu(menu: Menu): void
showMap(): void
setZone(zone: string, label: string): void
disableCurrentZone(): void
disableAllZones(): void
resetZone(zone: string): void
makeNamesUnknown(): void
makeNamesKnown(): void
music(name: string, fade: FadeInfo): void
ambience(name: string, fade: FadeInfo): void
sound(name: string, fade: FadeInfo): void
soundLoop(name: string, fade: FadeInfo): void
addSoundToQueue(name: string): void
addMusicToQueue(name: string): void
stopAmbience(fade: FadeInfo): void
stopSoundLoop(fade: FadeInfo): void
stopSound(fade: FadeInfo): void
stopMusic(fade: FadeInfo): void
windowShow(effect: string): boolean
windowHide(effect: string): boolean
pause(duration: number, isHard: boolean): void
finish(): void
}