mirror of
https://github.com/tobspr/shapez.io.git
synced 2024-10-27 20:34:29 +00:00
Add shapez 2 hint to the game
This commit is contained in:
parent
82980ae849
commit
ee2279d5f0
18
README.md
18
README.md
@ -1,12 +1,4 @@
|
|||||||
# shapez
|
## NEW: Shapez 2!
|
||||||
|
|
||||||
<a href="https://get.shapez.io/ghi" title="shapez on Steam">
|
|
||||||
<img src="https://i.imgur.com/ihW2bUE.png" alt="shapez Logo">
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<br>
|
|
||||||
|
|
||||||
## NEW: Shapez 2 is coming 2023!
|
|
||||||
|
|
||||||
We are currently working on a successor to shapez, with 3D Graphics, Exploration, Layers, Mass transport, New Shape Mechanics, Research and a lot more! Be sure to check it out:
|
We are currently working on a successor to shapez, with 3D Graphics, Exploration, Layers, Mass transport, New Shape Mechanics, Research and a lot more! Be sure to check it out:
|
||||||
|
|
||||||
@ -14,6 +6,14 @@ We are currently working on a successor to shapez, with 3D Graphics, Exploration
|
|||||||
<img src="https://i.imgur.com/6T7UP3p.png" alt="shapez 2 Announcement">
|
<img src="https://i.imgur.com/6T7UP3p.png" alt="shapez 2 Announcement">
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
# shapez
|
||||||
|
|
||||||
|
<a href="https://get.shapez.io/ghi" title="shapez on Steam">
|
||||||
|
<img src="https://i.imgur.com/ihW2bUE.png" alt="shapez Logo">
|
||||||
|
</a>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
This is the source code for shapez, an open source base building game inspired by Factorio.
|
This is the source code for shapez, an open source base building game inspired by Factorio.
|
||||||
Your goal is to produce shapes by cutting, rotating, merging and painting parts of shapes.
|
Your goal is to produce shapes by cutting, rotating, merging and painting parts of shapes.
|
||||||
|
BIN
res/ui/shapez2.png
Normal file
BIN
res/ui/shapez2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
@ -171,40 +171,41 @@
|
|||||||
@include S(grid-gap, 20px);
|
@include S(grid-gap, 20px);
|
||||||
|
|
||||||
.mainNews {
|
.mainNews {
|
||||||
background: linear-gradient(220deg, rgb(248, 232, 130), rgb(248, 171, 90));
|
background: linear-gradient(220deg, rgb(74, 93, 201), rgb(93, 255, 150));
|
||||||
&::before {
|
&::before {
|
||||||
background: uiResource("kiwi_clicker.png") center center / 100% no-repeat;
|
background: uiResource("shapez2.png") center center / 100% no-repeat;
|
||||||
content: "";
|
content: "";
|
||||||
@include S(width, 140px);
|
@include S(width, 100px);
|
||||||
@include S(height, 140px);
|
@include S(height, 100px);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 50%;
|
top: 55%;
|
||||||
right: -5%;
|
right: 8%;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
transform: translateY(-50%);
|
transform: translateY(-50%);
|
||||||
transition: transform 0.5s ease-in-out;
|
transition: transform 0.5s ease-in-out;
|
||||||
}
|
}
|
||||||
|
|
||||||
.close {
|
// .close {
|
||||||
position: absolute;
|
// position: absolute;
|
||||||
pointer-events: all;
|
// pointer-events: all;
|
||||||
background: uiResource("icons/main_menu_exit.png") center center / 50% no-repeat;
|
// background: uiResource("icons/main_menu_exit.png") center center / 50% no-repeat;
|
||||||
display: inline-flex;
|
// display: inline-flex;
|
||||||
@include S(width, 15px);
|
// @include S(width, 15px);
|
||||||
@include S(height, 15px);
|
// @include S(height, 15px);
|
||||||
@include S(top, 2px);
|
// @include S(top, 2px);
|
||||||
opacity: 0.3;
|
// opacity: 0.3;
|
||||||
@include S(right, 2px);
|
// @include S(right, 2px);
|
||||||
z-index: 200;
|
// z-index: 200;
|
||||||
transition: opacity 0.12s ease-in-out;
|
// transition: opacity 0.12s ease-in-out;
|
||||||
&:hover {
|
// &:hover {
|
||||||
opacity: 0.7;
|
// opacity: 0.7;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
&:hover::before {
|
&:hover::before {
|
||||||
transform: translate(0, -51%);
|
transform: translate(0, -51%);
|
||||||
}
|
}
|
||||||
|
|
||||||
box-shadow: 0 D(9px) D(15px) rgba(#000, 0.2);
|
box-shadow: 0 D(9px) D(15px) rgba(#000, 0.2);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -221,16 +222,16 @@
|
|||||||
@include S(padding, 10px);
|
@include S(padding, 10px);
|
||||||
@include S(padding-right, 100px);
|
@include S(padding-right, 100px);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
transition: opacity 0.12s ease-in-out;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
&:hover {
|
&:hover {
|
||||||
opacity: 0.95;
|
opacity: 0.85;
|
||||||
}
|
}
|
||||||
|
|
||||||
.text {
|
.text {
|
||||||
@include SuperSmallText;
|
@include SuperSmallText;
|
||||||
@include S(width, 120px);
|
@include S(width, 100px);
|
||||||
color: rgba(#000, 0.8);
|
color: rgba(#000, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -253,6 +254,7 @@
|
|||||||
|
|
||||||
.onlinePlayerCount {
|
.onlinePlayerCount {
|
||||||
color: #333;
|
color: #333;
|
||||||
|
display: none;
|
||||||
@include S(margin-top, 15px);
|
@include S(margin-top, 15px);
|
||||||
@include SuperSmallText;
|
@include SuperSmallText;
|
||||||
@include S(height, 15px);
|
@include S(height, 15px);
|
||||||
|
@ -1,4 +1,13 @@
|
|||||||
export const CHANGELOG = [
|
export const CHANGELOG = [
|
||||||
|
{
|
||||||
|
version: "1.5.6",
|
||||||
|
date: "09.12.2022",
|
||||||
|
entries: [
|
||||||
|
"⚠️ Shapez 2 will be coming soon! <a href='https://tobspr.io/shapez-2?utm_medium=s1_steam' target='_blank'>Click here</a> to find out more. ⚠️ ",
|
||||||
|
"Minor fixes & improvements",
|
||||||
|
"Updated translations",
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
version: "1.5.5",
|
version: "1.5.5",
|
||||||
date: "20.06.2022",
|
date: "20.06.2022",
|
||||||
|
@ -288,8 +288,6 @@ function initializeSettings() {
|
|||||||
new BoolSetting("lowQualityTextures", enumCategories.performance, (app, value) => {}),
|
new BoolSetting("lowQualityTextures", enumCategories.performance, (app, value) => {}),
|
||||||
|
|
||||||
new BoolSetting("simplifiedBelts", enumCategories.performance, (app, value) => {}),
|
new BoolSetting("simplifiedBelts", enumCategories.performance, (app, value) => {}),
|
||||||
|
|
||||||
new BoolSetting("showKiwiClicker", null, (app, value) => {}),
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -334,8 +332,6 @@ class SettingsStorage {
|
|||||||
* @type {Object.<string, number>}
|
* @type {Object.<string, number>}
|
||||||
*/
|
*/
|
||||||
this.keybindingOverrides = {};
|
this.keybindingOverrides = {};
|
||||||
|
|
||||||
this.showKiwiClicker = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -705,7 +701,6 @@ export class ApplicationSettings extends ReadWriteProxy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (data.version < 32) {
|
if (data.version < 32) {
|
||||||
data.settings.showKiwiClicker = true;
|
|
||||||
data.version = 32;
|
data.version = 32;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ export class MainMenuState extends GameState {
|
|||||||
!G_GOG_VERSION;
|
!G_GOG_VERSION;
|
||||||
const showWegameFooter = G_WEGAME_VERSION;
|
const showWegameFooter = G_WEGAME_VERSION;
|
||||||
const hasMods = MODS.anyModsActive();
|
const hasMods = MODS.anyModsActive();
|
||||||
const hasSteamBridge = G_IS_STANDALONE && !G_GOG_VERSION;
|
const hasSteamBridge = G_IS_STANDALONE && !G_GOG_VERSION && !G_IS_STEAM_DEMO;
|
||||||
|
|
||||||
let showExternalLinks = true;
|
let showExternalLinks = true;
|
||||||
|
|
||||||
@ -78,15 +78,15 @@ export class MainMenuState extends GameState {
|
|||||||
!G_IS_STEAM_DEMO &&
|
!G_IS_STEAM_DEMO &&
|
||||||
/** @type { PlatformWrapperImplElectron}*/ (this.app.platformWrapper).dlcs.puzzle);
|
/** @type { PlatformWrapperImplElectron}*/ (this.app.platformWrapper).dlcs.puzzle);
|
||||||
|
|
||||||
const showKiwiClicker =
|
const showShapez2 = showExternalLinks && MODS.mods.length === 0;
|
||||||
showExternalLinks && this.app.settings.getSetting("showKiwiClicker") && MODS.mods.length === 0;
|
|
||||||
|
|
||||||
const bannerHtml = `
|
const bannerHtml = `
|
||||||
<h3>${T.demoBanners.titleV2}</h3>
|
<h3>${T.demoBanners.titleV2}</h3>
|
||||||
|
|
||||||
|
|
||||||
<div class="points">
|
<div class="points">
|
||||||
${Object.entries(T.ingame.standaloneAdvantages.points)
|
${Array.from(Object.entries(T.ingame.standaloneAdvantages.points))
|
||||||
|
.slice(0, 6)
|
||||||
.map(
|
.map(
|
||||||
([key, trans]) => `
|
([key, trans]) => `
|
||||||
<div class="point ${key}">
|
<div class="point ${key}">
|
||||||
@ -99,11 +99,6 @@ export class MainMenuState extends GameState {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
${
|
|
||||||
G_IS_STEAM_DEMO
|
|
||||||
? `<span class="playtimeDisclaimer">${T.demoBanners.playtimeDisclaimer}</span>`
|
|
||||||
: ""
|
|
||||||
}
|
|
||||||
<a href="#" class="steamLink steam_dlbtn_0" target="_blank">
|
<a href="#" class="steamLink steam_dlbtn_0" target="_blank">
|
||||||
${
|
${
|
||||||
globalConfig.currentDiscount > 0
|
globalConfig.currentDiscount > 0
|
||||||
@ -181,6 +176,14 @@ export class MainMenuState extends GameState {
|
|||||||
<div class="sideContainer">
|
<div class="sideContainer">
|
||||||
${showDemoAdvertisement ? `<div class="standaloneBanner">${bannerHtml}</div>` : ""}
|
${showDemoAdvertisement ? `<div class="standaloneBanner">${bannerHtml}</div>` : ""}
|
||||||
|
|
||||||
|
${
|
||||||
|
showShapez2
|
||||||
|
? `<div class="mainNews shapez2">
|
||||||
|
<div class="text">Shapez 2 will be coming soon!</div>
|
||||||
|
|
||||||
|
</div>`
|
||||||
|
: ""
|
||||||
|
}
|
||||||
|
|
||||||
${
|
${
|
||||||
showPuzzleDLC
|
showPuzzleDLC
|
||||||
@ -206,15 +209,7 @@ export class MainMenuState extends GameState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
${
|
|
||||||
showKiwiClicker
|
|
||||||
? `<div class="mainNews kiwiClicker">
|
|
||||||
<div class="text">Check out this small side project I am working on right now!</div>
|
|
||||||
<div class="close"></div>
|
|
||||||
|
|
||||||
</div>`
|
|
||||||
: ""
|
|
||||||
}
|
|
||||||
`
|
`
|
||||||
: ""
|
: ""
|
||||||
}
|
}
|
||||||
@ -466,8 +461,7 @@ export class MainMenuState extends GameState {
|
|||||||
".exitAppButton": this.onExitAppButtonClicked,
|
".exitAppButton": this.onExitAppButtonClicked,
|
||||||
".steamLink": this.onSteamLinkClicked,
|
".steamLink": this.onSteamLinkClicked,
|
||||||
".steamLinkSocial": this.onSteamLinkClickedSocial,
|
".steamLinkSocial": this.onSteamLinkClickedSocial,
|
||||||
".kiwiClicker": this.onKiwiClickerClicked,
|
".shapez2": this.onShapez2Clicked,
|
||||||
".kiwiClicker .close": this.hideKiwiClicker,
|
|
||||||
".discordLink": () => {
|
".discordLink": () => {
|
||||||
this.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.discord);
|
this.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.discord);
|
||||||
},
|
},
|
||||||
@ -582,17 +576,8 @@ export class MainMenuState extends GameState {
|
|||||||
this.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.puzzleDlcStorePage);
|
this.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.puzzleDlcStorePage);
|
||||||
}
|
}
|
||||||
|
|
||||||
onKiwiClickerClicked() {
|
onShapez2Clicked() {
|
||||||
this.app.platformWrapper.openExternalLink(
|
this.app.platformWrapper.openExternalLink("https://tobspr.io/shapez-2?utm_medium=shapez");
|
||||||
"https://store.steampowered.com/app/1980530/Kiwi_Clicker/?utm_medium=shapez"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
hideKiwiClicker() {
|
|
||||||
this.app.settings.updateSetting("showKiwiClicker", false);
|
|
||||||
this.app.settings.save();
|
|
||||||
this.htmlElement.querySelector(".kiwiClicker").remove();
|
|
||||||
return STOP_PROPAGATION;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onBackButtonClicked() {
|
onBackButtonClicked() {
|
||||||
|
@ -1102,7 +1102,8 @@ settings:
|
|||||||
zoom).
|
zoom).
|
||||||
shapeTooltipAlwaysOn:
|
shapeTooltipAlwaysOn:
|
||||||
title: Dica de ferramente de forma - Mostrar sempre
|
title: Dica de ferramente de forma - Mostrar sempre
|
||||||
description: Deve sempre mostrar a dica de ferramenta de forma ao pairar sobre
|
description: >-
|
||||||
|
Deve sempre mostrar a dica de ferramenta de forma ao pairar sobre
|
||||||
construções em vez de ter que segurar 'ALT'.
|
construções em vez de ter que segurar 'ALT'.
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
tickrateHz: <amount> Hz
|
tickrateHz: <amount> Hz
|
||||||
|
Loading…
Reference in New Issue
Block a user