2020-05-19 07:14:40 +00:00
|
|
|
import { TextualGameState } from "../core/textual_game_state";
|
|
|
|
import { T } from "../translations";
|
2020-05-19 13:03:13 +00:00
|
|
|
import { THIRDPARTY_URLS } from "../core/config";
|
2020-07-23 06:48:23 +00:00
|
|
|
import { cachebust } from "../core/cachebust";
|
2021-05-25 07:19:57 +00:00
|
|
|
import { getLogoSprite } from "../core/background_resources_loader";
|
2020-05-19 07:14:40 +00:00
|
|
|
|
|
|
|
export class AboutState extends TextualGameState {
|
|
|
|
constructor() {
|
|
|
|
super("AboutState");
|
|
|
|
}
|
|
|
|
|
|
|
|
getStateHeaderTitle() {
|
|
|
|
return T.about.title;
|
|
|
|
}
|
|
|
|
|
|
|
|
getMainContentHTML() {
|
2020-07-23 06:48:23 +00:00
|
|
|
return `
|
|
|
|
<div class="head">
|
2021-05-25 07:19:57 +00:00
|
|
|
<img src="${cachebust("res/" + getLogoSprite())}" alt="shapez.io Logo">
|
2020-07-23 06:48:23 +00:00
|
|
|
</div>
|
|
|
|
<div class="text">
|
|
|
|
${T.about.body
|
|
|
|
.replace("<githublink>", THIRDPARTY_URLS.github)
|
|
|
|
.replace("<discordlink>", THIRDPARTY_URLS.discord)}
|
|
|
|
</div>
|
|
|
|
`;
|
2020-05-19 07:14:40 +00:00
|
|
|
}
|
|
|
|
|
2020-05-22 11:12:07 +00:00
|
|
|
onEnter() {
|
|
|
|
const links = this.htmlElement.querySelectorAll("a[href]");
|
|
|
|
links.forEach(link => {
|
|
|
|
this.trackClicks(
|
|
|
|
link,
|
|
|
|
() => this.app.platformWrapper.openExternalLink(link.getAttribute("href")),
|
|
|
|
{ preventClick: true }
|
|
|
|
);
|
|
|
|
});
|
2021-06-25 21:41:39 +00:00
|
|
|
|
|
|
|
const stateChangers = this.htmlElement.querySelectorAll("a[state]");
|
|
|
|
console.log(stateChangers);
|
|
|
|
stateChangers.forEach(element => {
|
|
|
|
this.trackClicks(element, () => this.moveToState(element.getAttribute("state")), {
|
|
|
|
preventClick: true,
|
|
|
|
});
|
|
|
|
});
|
2020-05-22 11:12:07 +00:00
|
|
|
}
|
2020-05-19 07:14:40 +00:00
|
|
|
|
|
|
|
getDefaultPreviousState() {
|
|
|
|
return "SettingsState";
|
|
|
|
}
|
|
|
|
}
|