33 lines
795 B
TypeScript
33 lines
795 B
TypeScript
|
|
import { Container } from "../ui/container";
|
||
|
|
import { UIWindow } from "../ui/window";
|
||
|
|
import { ViewManager } from "./view-manager";
|
||
|
|
|
||
|
|
export abstract class View {
|
||
|
|
protected viewManager: ViewManager;
|
||
|
|
protected window: Container;
|
||
|
|
private active!: boolean;
|
||
|
|
public constructor(viewManager: ViewManager) {
|
||
|
|
this.viewManager = viewManager;
|
||
|
|
this.window = new Container("Base view");
|
||
|
|
}
|
||
|
|
|
||
|
|
public show() {
|
||
|
|
return this.window;
|
||
|
|
}
|
||
|
|
|
||
|
|
public abstract onActivate(): void;
|
||
|
|
|
||
|
|
public abstract onDeactivate(): void;
|
||
|
|
|
||
|
|
public abstract onCreate(): void;
|
||
|
|
|
||
|
|
public abstract onDestroy(): void;
|
||
|
|
|
||
|
|
public isActive() {
|
||
|
|
return this.isActive;
|
||
|
|
}
|
||
|
|
|
||
|
|
public setActive(val: boolean) {
|
||
|
|
this.active = val;
|
||
|
|
}
|
||
|
|
}
|