Rename SharkGame.Log to .MessageHandler
This commit is contained in:
parent
b90b397cef
commit
83a5db08be
5 changed files with 21 additions and 15 deletions
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
const mainHeaderButtons = {
|
const mainHeaderButtons = {
|
||||||
save() {
|
save() {
|
||||||
game.SaveHandler.save(game);
|
return game.SaveHandler.save(game);
|
||||||
},
|
},
|
||||||
settings() {
|
settings() {
|
||||||
openModal(SettingsModal, { settings: game.Settings.settings }, { replace: true });
|
openModal(SettingsModal, { settings: game.Settings.settings }, { replace: true });
|
||||||
|
|
|
@ -13,10 +13,10 @@
|
||||||
sidebarExpanded = to ?? !sidebarExpanded;
|
sidebarExpanded = to ?? !sidebarExpanded;
|
||||||
}
|
}
|
||||||
function handleAddMessage(event: CustomEvent<AddMessageEvent>) {
|
function handleAddMessage(event: CustomEvent<AddMessageEvent>) {
|
||||||
game.Log.addMessage(event.detail.message, event.detail.messageType);
|
game.MessageHandler.addMessage(event.detail.message, event.detail.messageType);
|
||||||
}
|
}
|
||||||
function handleResetLog() {
|
function handleResetLog() {
|
||||||
game.Log.reset();
|
game.MessageHandler.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
let logLength: number;
|
let logLength: number;
|
||||||
|
@ -30,7 +30,12 @@
|
||||||
<main>
|
<main>
|
||||||
<div id="left-column" class:expanded={sidebarExpanded} class:collapsed={!sidebarExpanded}>
|
<div id="left-column" class:expanded={sidebarExpanded} class:collapsed={!sidebarExpanded}>
|
||||||
<ResourceTable resources={game.Resources.Resources} />
|
<ResourceTable resources={game.Resources.Resources} />
|
||||||
<Log {logLength} messages={game.Log.messages} on:addMessage={handleAddMessage} on:resetLog={handleResetLog} />
|
<Log
|
||||||
|
{logLength}
|
||||||
|
messages={game.MessageHandler.messages}
|
||||||
|
on:addMessage={handleAddMessage}
|
||||||
|
on:resetLog={handleResetLog}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div id="right-column" on:click={() => toggleSidebar(false)}>
|
<div id="right-column" on:click={() => toggleSidebar(false)}>
|
||||||
<div id="right-top">
|
<div id="right-top">
|
||||||
|
|
|
@ -4,19 +4,19 @@ import { Message, MessageType } from "./Message";
|
||||||
import { Settings } from "./Settings";
|
import { Settings } from "./Settings";
|
||||||
import { StaticClass } from "./StaticClass";
|
import { StaticClass } from "./StaticClass";
|
||||||
|
|
||||||
export class Log extends StaticClass {
|
export class MessageHandler extends StaticClass {
|
||||||
static messages = writable<Message[]>([]);
|
static messages = writable<Message[]>([]);
|
||||||
static #maxLogLength: number;
|
static #maxLogLength: number;
|
||||||
|
|
||||||
static init(): void {
|
static init(): void {
|
||||||
Settings.settings.subscribe((settings) => {
|
Settings.settings.subscribe((settings) => {
|
||||||
Log.#maxLogLength = Math.max(...settings.layout.logLength.options);
|
MessageHandler.#maxLogLength = Math.max(...settings.layout.logLength.options);
|
||||||
})();
|
})();
|
||||||
}
|
}
|
||||||
|
|
||||||
static addMessage(message: string, messageType: MessageType = MessageType.message): void {
|
static addMessage(message: string, messageType: MessageType = MessageType.message): void {
|
||||||
this.messages.update((oldMessages) =>
|
this.messages.update((oldMessages) =>
|
||||||
[...oldMessages, new Message(message, messageType)].slice(-Log.#maxLogLength)
|
[...oldMessages, new Message(message, messageType)].slice(-MessageHandler.#maxLogLength)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,7 @@ export class SaveHandler extends StaticClass {
|
||||||
console.debug("Saving");
|
console.debug("Saving");
|
||||||
console.time("Done saving");
|
console.time("Done saving");
|
||||||
const messages = await new Promise<Message[]>((resolve) => {
|
const messages = await new Promise<Message[]>((resolve) => {
|
||||||
game.Log.messages.subscribe((messages) => {
|
game.MessageHandler.messages.subscribe((messages) => {
|
||||||
resolve(messages);
|
resolve(messages);
|
||||||
})();
|
})();
|
||||||
});
|
});
|
||||||
|
@ -119,10 +119,10 @@ export class SaveHandler extends StaticClass {
|
||||||
return settings;
|
return settings;
|
||||||
});
|
});
|
||||||
|
|
||||||
game.Log.reset();
|
game.MessageHandler.reset();
|
||||||
|
|
||||||
fullSave.messages.forEach((message) => {
|
fullSave.messages.forEach((message) => {
|
||||||
game.Log.addMessage(message.content, message.type);
|
game.MessageHandler.addMessage(message.content, message.type);
|
||||||
});
|
});
|
||||||
game.TabHandler.currentTab = game.TabHandler.AllTabs[fullSave.selectedTab];
|
game.TabHandler.currentTab = game.TabHandler.AllTabs[fullSave.selectedTab];
|
||||||
console.timeEnd("Done loading");
|
console.timeEnd("Done loading");
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { Resources } from "./data/Resources";
|
import { Resources } from "./data/Resources";
|
||||||
import { Log } from "./Log";
|
import { MessageHandler } from "./MessageHandler";
|
||||||
import { SaveHandler } from "./SaveHandler";
|
import { SaveHandler } from "./SaveHandler";
|
||||||
import { Settings } from "./Settings";
|
import { Settings } from "./Settings";
|
||||||
import { StaticClass } from "./StaticClass";
|
import { StaticClass } from "./StaticClass";
|
||||||
|
@ -59,7 +59,7 @@ export class SharkGame extends StaticClass {
|
||||||
|
|
||||||
static title: string;
|
static title: string;
|
||||||
static readonly Settings = Settings;
|
static readonly Settings = Settings;
|
||||||
static readonly Log = Log;
|
static readonly MessageHandler = MessageHandler;
|
||||||
static readonly Resources = Resources;
|
static readonly Resources = Resources;
|
||||||
static readonly TabHandler = TabHandler;
|
static readonly TabHandler = TabHandler;
|
||||||
static readonly SaveHandler = SaveHandler;
|
static readonly SaveHandler = SaveHandler;
|
||||||
|
@ -72,11 +72,12 @@ export class SharkGame extends StaticClass {
|
||||||
|
|
||||||
SharkGame.title = SharkGame.#GAME_NAMES[Math.floor(Math.random() * SharkGame.#GAME_NAMES.length)];
|
SharkGame.title = SharkGame.#GAME_NAMES[Math.floor(Math.random() * SharkGame.#GAME_NAMES.length)];
|
||||||
|
|
||||||
Log.init();
|
MessageHandler.init();
|
||||||
SaveHandler.init(this);
|
SaveHandler.init(this);
|
||||||
}
|
}
|
||||||
static save(): void {
|
|
||||||
SaveHandler.save(this);
|
static save(): Promise<void> {
|
||||||
|
return SaveHandler.save(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in a new issue