Allow import in the free version, but make it limited to one savegame

This commit is contained in:
tobspr 2020-05-21 20:16:33 +02:00
parent fec5dfd43c
commit 1cba701b8a
4 changed files with 23 additions and 8 deletions

View File

@ -95,7 +95,7 @@
h3 { h3 {
@include Heading; @include Heading;
font-weight: bold; font-weight: bold;
@include S(margin-bottom, 15px); @include S(margin-bottom, 5px);
text-transform: uppercase; text-transform: uppercase;
color: $colorRedBright; color: $colorRedBright;
} }
@ -105,7 +105,7 @@
} }
ul { ul {
@include S(margin-top, 15px); @include S(margin-top, 5px);
@include S(padding-left, 20px); @include S(padding-left, 20px);
li { li {
@include Text; @include Text;

View File

@ -16,11 +16,15 @@ export class HUDWatermark extends BaseHUDPart {
parameters.context.fillStyle = "#f77"; parameters.context.fillStyle = "#f77";
parameters.context.font = "bold " + this.root.app.getEffectiveUiScale() * 17 + "px GameFont"; parameters.context.font = "bold " + this.root.app.getEffectiveUiScale() * 17 + "px GameFont";
parameters.context.textAlign = "center"; parameters.context.textAlign = "center";
parameters.context.fillText("DEMO VERSION", w / 2, 50); parameters.context.fillText("DEMO VERSION", w / 2, this.root.app.getEffectiveUiScale() * 35);
parameters.context.font = "bold " + this.root.app.getEffectiveUiScale() * 12 + "px GameFont"; parameters.context.font = "bold " + this.root.app.getEffectiveUiScale() * 12 + "px GameFont";
parameters.context.textAlign = "center"; parameters.context.textAlign = "center";
parameters.context.fillText("Please consider to buy the full version!", w / 2, 90); parameters.context.fillText(
"Please consider to buy the full version!",
w / 2,
this.root.app.getEffectiveUiScale() * 55
);
parameters.context.textAlign = "left"; parameters.context.textAlign = "left";
} }

View File

@ -99,8 +99,8 @@ export class MainMenuState extends GameState {
} }
requestImportSavegame() { requestImportSavegame() {
if (IS_DEMO) { if (IS_DEMO && this.app.savegameMgr.getSavegamesMetaData().length > 0) {
this.dialogs.showFeatureRestrictionInfo(T.demo.features.importingGames); this.dialogs.showWarning(T.dialogs.oneSavegameLimit.title, T.dialogs.oneSavegameLimit.desc);
return; return;
} }
@ -337,6 +337,11 @@ export class MainMenuState extends GameState {
} }
onPlayButtonClicked() { onPlayButtonClicked() {
if (IS_DEMO && this.app.savegameMgr.getSavegamesMetaData().length > 0) {
this.dialogs.showWarning(T.dialogs.oneSavegameLimit.title, T.dialogs.oneSavegameLimit.desc);
return;
}
if (IS_DEMO) { if (IS_DEMO) {
const { ok } = this.dialogs.showWarning( const { ok } = this.dialogs.showWarning(
T.dialogs.demoExplanation.title, T.dialogs.demoExplanation.title,

View File

@ -61,8 +61,9 @@ demoBanners:
intro: >- intro: >-
If you enjoy this game, please consider to buy the full version! If you enjoy this game, please consider to buy the full version!
advantages: advantages:
- No advertisements & watermark - No advertisements
- Dark mode - Unlimited savegames
- Dark mode & more
- >- - >-
Allow me to further develop shapez.io ❤️ Allow me to further develop shapez.io ❤️
@ -149,6 +150,10 @@ dialogs:
title: Notice from the Developer title: Notice from the Developer
desc: I am developing this game in my free time, and I hope you enjoy it! If you do, please consider to buy the standalone version! desc: I am developing this game in my free time, and I hope you enjoy it! If you do, please consider to buy the standalone version!
oneSavegameLimit:
title: Limited savegames
desc: You can only have one savegame at a time in the demo version. Please remove the existing one or get the standalone!
ingame: ingame:
# This is shown in the top left corner and displays useful keybindings in # This is shown in the top left corner and displays useful keybindings in
# every situation # every situation
@ -472,6 +477,7 @@ demo:
features: features:
restoringGames: Restoring savegames restoringGames: Restoring savegames
importingGames: Importing savegames importingGames: Importing savegames
oneGameLimit: Limited to one savegame
customizeKeybindings: Customizing Keybindings customizeKeybindings: Customizing Keybindings
settingNotAvailable: Not available in the demo. settingNotAvailable: Not available in the demo.