[refactor] Moved Settings to TypeScript

Moved the UI binding to a separate file as there is still a circular
dependency with 'engine'. But every other file that depends on Settings
is no longer part of a larger dependency cycle.
This commit is contained in:
Steven Evans
2018-07-30 23:02:12 -04:00
parent 826a8799fa
commit 974bc3c002
5 changed files with 155 additions and 44 deletions
+21
View File
@@ -14,3 +14,24 @@ export interface IMap<T> {
* Performs some action, with no returned value.
*/
export type Action = () => void;
/**
* Contains a method to initialize itself to a known state.
*/
export interface ISelfInitializer {
/**
* Initialize/reset the object to a known, default state.
*/
init(): void;
}
/**
* Contains a method to repopulate itself based on a JSON string.
*/
export interface ISelfLoading {
/**
* Loads the save state onto the current object.
* @param saveState JSON string representing the save state.
*/
load(saveState: string): void;
}