From 7ade7946dc83a0216fd1cff9a5df3a0975987c3b Mon Sep 17 00:00:00 2001 From: tobspr Date: Mon, 7 Mar 2022 09:56:11 +0100 Subject: [PATCH] Steam demo --- electron/index.js | 47 +----- gulp/standalone.js | 4 +- res/logo.png | Bin 26710 -> 26116 bytes res/logo_wegame.png | Bin 37766 -> 0 bytes src/js/core/restriction_manager.js | 34 +---- src/js/mods/modloader.js | 165 +--------------------- src/js/platform/browser/game_analytics.js | 18 +-- src/js/platform/sound.js | 6 +- src/js/profile/application_settings.js | 5 +- src/js/states/main_menu.js | 19 +-- src/js/states/mods.js | 82 +++-------- translations/base-zh-CN.yaml | 40 ++++-- 12 files changed, 62 insertions(+), 358 deletions(-) delete mode 100644 res/logo_wegame.png diff --git a/electron/index.js b/electron/index.js index 264aa581..8ec625bc 100644 --- a/electron/index.js +++ b/electron/index.js @@ -14,8 +14,6 @@ app.commandLine.appendSwitch("disable-features", "HardwareMediaKeyHandling"); const isDev = app.commandLine.hasSwitch("dev"); const isLocal = app.commandLine.hasSwitch("local"); -const safeMode = app.commandLine.hasSwitch("safe-mode"); -const externalMod = app.commandLine.getSwitchValue("load-mod"); const roamingFolder = process.env.APPDATA || @@ -60,7 +58,7 @@ function createWindow() { useContentSize: false, minWidth: 800, minHeight: 600, - title: "shapez.io Standalone", + title: "shapez.io Demo", transparent: false, icon: path.join(__dirname, "favicon" + faviconExtension), // fullscreen: true, @@ -341,49 +339,8 @@ ipcMain.handle("fs-job", async (event, job) => { } }); -ipcMain.handle("open-mods-folder", async () => { - shell.openPath(modsPath); -}); - -console.log("Loading mods ..."); - -function loadMods() { - if (safeMode) { - console.log("Safe Mode enabled for mods, skipping mod search"); - } - console.log("Loading mods from", modsPath); - let modFiles = safeMode - ? [] - : fs - .readdirSync(modsPath) - .filter(filename => filename.endsWith(".js")) - .map(filename => path.join(modsPath, filename)); - - if (externalMod) { - console.log("Adding external mod source:", externalMod); - const externalModPaths = externalMod.split(","); - modFiles = modFiles.concat(externalModPaths); - } - - return modFiles.map(filename => fs.readFileSync(filename, "utf8")); -} - -let mods = []; -try { - mods = loadMods(); - console.log("Loaded", mods.length, "mods"); -} catch (ex) { - console.error("Failed to load mods"); - dialog.showErrorBox("Failed to load mods:", ex); -} - ipcMain.handle("get-mods", async () => { - return mods; + return []; }); steam.init(isDev); - -// Only allow achievements and puzzle DLC if no mods are loaded -if (mods.length === 0) { - steam.listen(); -} diff --git a/gulp/standalone.js b/gulp/standalone.js index 75f0b7a8..529b405c 100644 --- a/gulp/standalone.js +++ b/gulp/standalone.js @@ -151,10 +151,10 @@ function gulptasksStandalone($, gulp) { asar: asar, executableName: "shapezio", icon: path.join(electronBaseDir, "favicon"), - name: "shapez.io-standalone" + suffix, + name: "shapez.io-demo" + suffix, out: tempDestDir, overwrite: true, - appBundleId: "io.shapez.standalone", + appBundleId: "io.shapez.demo", appCategoryType: "public.app-category.games", }).then( appPaths => { diff --git a/res/logo.png b/res/logo.png index 75dd3a3504af525215ea84e6e8474ae1a342681f..c83d2d599eed5d9866171329583a1db01b6d400c 100644 GIT binary patch literal 26116 zcmaG{bzIZm*QXghK)S|g>24TfbcaZHcXu~ZV>BXCD$k_Q&?wXXoB~;-2$4_kGTiv^A9oaH(-oP*4a|lwrCkDCmsH>vsSw5(b*Vj{mmp33FfG0qZ$HUu!mtS05oR?34S3rOpNx|(Cc9x5g%DyFEQ$S*1G&sY_AA73kX8@qqk zc0#WG&sg#QcdUfGx1E)*hqu0mhwH!FK-RwiXc*;7Y6?`-uA!r_xDCc-a*RY`7b*X0=72%R>C4e+@fN3!rWr~$ce1&?5w%@`T1=` zgaqvP`Rr}Lyhs*#|7@NA+DiZ4LhjE$m;dn$dtxN-gJpB69d)Iu;%$?`j ze`mX8Qeg$aK#PKafGSwn&o=N;N|af+6+Y8u=~poF_8((Jf5kt$1F?WtOLt0aG5^s0 zMNVQ}@>`3II~76XfL0gxW;Y>+BY0hHOqs&zMOMW>G$5cdR2{8|gb+keg~LiW0|l`f zfpx#Wj>Sk!dMp2KI3>UMrtRCeS63KJe@_a+;TJj?Egc-NKmCmgMW~rXk|6v!fh2$P z2f#o8o6t|i8#%7)jn3)a&hH!98BqmhhcC7>|7*psC`HuU5EuXRP1Tq;58EO4J3-t<_#kHS<{)+|r`>7E=>N!6ig)<=YVvi23o9*SV@aGXOloA` z=91*OIt>fc9+lj` z^57()iKxnWTeC7iq@v{xm@CwzSfr+~OF_(10TQk?*@z4j8LWTo2ViDAMH!&-rY)Vi z=BpZ!CtyR3#*Af_Ai^0%hc>?#oc(wasPvDbfk@&yG0e8YWs_fFz%T-P^Fr%rd(w5~|I(d`a@Xc|Ff`gbBa|{aWqbDCv-CaC z82|`EMboAHrWKjuDhK|{@G$T9?3;%5YNW9iCmEyIBt*lu%%OSY+t2WKg8Q46GId}! z!|D)eorG_Njh9Tc#8K-LiYJUn&4Aa=LV|)gaEGgzw__r@$v$1yb?%ch-acmQYH)3! zX24=$!fjD3PRH_;?#vSQ>Vq8Sn@ahc>AuzD6N~QpsC#{8w0)@nqo~qG{AEBx3Y;cF z9Mq^It1~8Ixb_|y2|SQ0y_JvASiI!^tDAq;BQV-)r`tQ*M~r{D>%1bgzX5<6B^488 z`YtpEBSf~g!`b?mpI*49&b|09{)h2#T0~Ki$l|_lkxkQ=8!_568L6o^8Fg|8JwJwD z#-@JR407*nUsQg7E)lQHuE>0K`S(VG#}+C;X4z32IL^|qcEYzW4qRS_>=q{TzT3F{ zaC-BL>Sa!jf5WOf18sIUJ-&Y#H6zf$Qaw5%{ck@~8KuHtj_E2K;9w~pnfdLt+Olw- z|7+`c?c|iKgRX)74s+3NlMWp)aWEzYHB1Nh??rK}6d?V_k!09t-eYaNsti{}sHL8E=3-M(g7D;BwkUZ*qcC>%! z22~-JWM_qe#K4Mu{)e6r^7H*nNz%*-VgT*)za5bI3rq`-c-&*43LVwxWaZOBdXMMl zV^L{A{%X3$UZ$ⅇ2O0-g#Vj=4fEBv^3zN4V? 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 literal 26710 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

Sq9J-@mtAks2TjwB3IhAii5 zK)t>uTzuH3LX+cI7X-X#m6BQwRgpw^*O-WVWuIFVCJG|xiY37Rnt&iuT}KF_I#1E< zK%2;lk>_5i^jo){TQG%&N)g4?GoWAH35{buU#z*zL>G9opEzwSUHkz=*#0>wAh^*f zvO{bgw@Odd)r+w>Az!NmDgaKs3^aVTJdR*^2qz%_jM|v`Qm>j4$1psOx!@xoElI$Q zQobXn&*hH^JhFOJRTF*pf?w5yzhgB;VAMg(+e zKw~I3-zK)bH*2Fe44?iNac~#o@Qk&k^_-aUUKu%EQCe`5i^wm@zof$7rQDSuN~P9J z{ZCntfiyQCq}|{-$jQ^w=4l?DKArwX2wxzut^eK2>307qDp}1{@adPYb9TMc{L0}) zuKyW{h&47+M>?GpgAbOTF;!&^RT5^!G2$i4e~p_o33MjUz;eYlcTsTJ|G%ELk4$z} zxn&kGDa0hlRJ?v}eAXpTR*>M2) zEm#_Qfl>p&6<49t(GB};LQ6!EgYVw8VeySopIj*{!jLvMr3uPA4lD<6ft?k99s6_9 zW@8ZpJe?nmQ%C&@nWXC6JHFI^3UiUeHgOlIm}T+$wib8{ZNw$C790BwKs3Gr6CV3( z*^xEiv6_TCCf~6mRQWC#XOzAC{QPoj=_qm3fSib!&3gd*hL9~>{z}*^_@SGt87QaU z^#^A$U#~$iG=bT?3$=Fy_WRx*hO#La4`kqqbK+H-U@&hUBDlVho&l)pLh7} zePo^h%IJZk7FGqp0;|r~*s;}s#;kLA5&c0F97ObjGV!|$y=F4JrLJ-Be4IJ#tf;!SUSyRPmQw6ZL~XlZ8U8YJjdR~r3}@sQ=>n^mKp4QYh4nhO0! zkoq?qtO&M(vUzHariNRf9l{K}8jvq`j*b(h-(X7^Xsww(C6g>3iKjE=rI z@-sDsX40%^!`}`E3g~deea4Ao_p$EjSF!z)na*3Kj-w~ii8W3KCk|)#ySCf->1DsA zqFXb{M@F_K)V5g!FsX*1E%!BCA90XIoxD(|2h?>bX6q9Dlt0nVB-beQ%`Xw5^5QK zN8q0)#3af{_Lq_Z8hU!~FBI@+6w=oF1pg)iMQOUFII-#5saNePlw4;D2~2>k9em<4 ptWD}QZ`|lmx`G3j+Va@;m diff --git a/res/logo_wegame.png b/res/logo_wegame.png deleted file mode 100644 index ac9092b3f03b0dc9a0f5da98ab2bf5cec32270d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37766 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 0; - } - return true; } @@ -101,7 +81,7 @@ export class RestrictionManager extends ReadWriteProxy { * @returns {boolean} */ getIsStandaloneMarketingActive() { - return this.isLimitedVersion(); + return true; } /** @@ -109,7 +89,7 @@ export class RestrictionManager extends ReadWriteProxy { * @returns {boolean} */ getIsExportingScreenshotsPossible() { - return !this.isLimitedVersion(); + return false; } /** @@ -117,7 +97,7 @@ export class RestrictionManager extends ReadWriteProxy { * @returns {number} */ getMaximumWaypoints() { - return this.isLimitedVersion() ? 2 : 1e20; + return 2; } /** @@ -125,7 +105,7 @@ export class RestrictionManager extends ReadWriteProxy { * @returns {boolean} */ getHasUnlimitedSavegames() { - return !this.isLimitedVersion(); + return false; } /** @@ -133,7 +113,7 @@ export class RestrictionManager extends ReadWriteProxy { * @returns {boolean} */ getHasExtendedSettings() { - return !this.isLimitedVersion(); + return false; } /** @@ -141,7 +121,7 @@ export class RestrictionManager extends ReadWriteProxy { * @returns {boolean} */ getHasExtendedUpgrades() { - return !this.isLimitedVersion() || this.currentData.savegameV1119Imported; + return false; } /** @@ -149,6 +129,6 @@ export class RestrictionManager extends ReadWriteProxy { * @returns {boolean} */ getHasExtendedLevelsAndFreeplay() { - return !this.isLimitedVersion() || this.currentData.savegameV1119Imported; + return false; } } diff --git a/src/js/mods/modloader.js b/src/js/mods/modloader.js index 3d0985d5..7a2964f0 100644 --- a/src/js/mods/modloader.js +++ b/src/js/mods/modloader.js @@ -1,18 +1,11 @@ /* typehints:start */ import { Application } from "../application"; /* typehints:end */ -import { globalConfig } from "../core/config"; import { createLogger } from "../core/logging"; -import { StorageImplBrowserIndexedDB } from "../platform/browser/storage_indexed_db"; -import { StorageImplElectron } from "../platform/electron/storage"; -import { FILE_NOT_FOUND } from "../platform/storage"; import { Mod } from "./mod"; import { ModInterface } from "./mod_interface"; import { MOD_SIGNALS } from "./mod_signals"; -import semverValidRange from "semver/ranges/valid"; -import semverSatisifies from "semver/functions/satisfies"; - const LOG = createLogger("mods"); /** @@ -104,165 +97,9 @@ export class ModLoader { }; } - exposeExports() { - if (G_IS_DEV || G_IS_STANDALONE) { - let exports = {}; - const modules = require.context("../", true, /\.js$/); - Array.from(modules.keys()).forEach(key => { - // @ts-ignore - const module = modules(key); - for (const member in module) { - if (member === "default" || member === "__$S__") { - // Setter - continue; - } - if (exports[member]) { - throw new Error("Duplicate export of " + member); - } - - Object.defineProperty(exports, member, { - get() { - return module[member]; - }, - set(v) { - module.__$S__(member, v); - }, - }); - } - }); - - window.shapez = exports; - } - } + exposeExports() {} async initMods() { - if (!G_IS_STANDALONE && !G_IS_DEV) { - this.initialized = true; - return; - } - - // Create a storage for reading mod settings - const storage = G_IS_STANDALONE - ? new StorageImplElectron(this.app) - : new StorageImplBrowserIndexedDB(this.app); - await storage.initialize(); - - LOG.log("hook:init", this.app, this.app.storage); - this.exposeExports(); - - let mods = []; - if (G_IS_STANDALONE) { - mods = await ipcRenderer.invoke("get-mods"); - } - if (G_IS_DEV && globalConfig.debug.externalModUrl) { - const modURLs = Array.isArray(globalConfig.debug.externalModUrl) - ? globalConfig.debug.externalModUrl - : [globalConfig.debug.externalModUrl]; - - for (let i = 0; i < modURLs.length; i++) { - const response = await fetch(modURLs[i], { - method: "GET", - }); - if (response.status !== 200) { - throw new Error( - "Failed to load " + modURLs[i] + ": " + response.status + " " + response.statusText - ); - } - mods.push(await response.text()); - } - } - - window.$shapez_registerMod = (modClass, meta) => { - if (this.initialized) { - throw new Error("Can't register mod after modloader is initialized"); - } - if (this.modLoadQueue.some(entry => entry.meta.id === meta.id)) { - console.warn("Not registering mod", meta, "since a mod with the same id is already loaded"); - return; - } - this.modLoadQueue.push({ - modClass, - meta, - }); - }; - - mods.forEach(modCode => { - modCode += ` - if (typeof Mod !== 'undefined') { - if (typeof METADATA !== 'object') { - throw new Error("No METADATA variable found"); - } - window.$shapez_registerMod(Mod, METADATA); - } - `; - try { - const func = new Function(modCode); - func(); - } catch (ex) { - console.error(ex); - alert("Failed to parse mod (launch with --dev for more info): \n\n" + ex); - } - }); - - delete window.$shapez_registerMod; - - for (let i = 0; i < this.modLoadQueue.length; i++) { - const { modClass, meta } = this.modLoadQueue[i]; - const modDataFile = "modsettings_" + meta.id + "__" + meta.version + ".json"; - - if (meta.minimumGameVersion) { - const minimumGameVersion = meta.minimumGameVersion; - if (!semverValidRange(minimumGameVersion)) { - alert("Mod " + meta.id + " has invalid minimumGameVersion: " + minimumGameVersion); - continue; - } - if (!semverSatisifies(G_BUILD_VERSION, minimumGameVersion)) { - alert( - "Mod '" + - meta.id + - "' is incompatible with this version of the game: \n\n" + - "Mod requires version " + - minimumGameVersion + - " but this game has version " + - G_BUILD_VERSION - ); - continue; - } - } - - let settings = meta.settings; - - if (meta.settings) { - try { - const storedSettings = await storage.readFileAsync(modDataFile); - settings = JSON.parse(storedSettings); - } catch (ex) { - if (ex === FILE_NOT_FOUND) { - // Write default data - await storage.writeFileAsync(modDataFile, JSON.stringify(meta.settings)); - } else { - alert("Failed to load settings for " + meta.id + ", will use defaults:\n\n" + ex); - } - } - } - - try { - const mod = new modClass({ - app: this.app, - modLoader: this, - meta, - settings, - saveSettings: () => storage.writeFileAsync(modDataFile, JSON.stringify(mod.settings)), - }); - mod.init(); - this.mods.push(mod); - } catch (ex) { - console.error(ex); - alert("Failed to initialize mods (launch with --dev for more info): \n\n" + ex); - } - } - - this.modLoadQueue = []; this.initialized = true; } } diff --git a/src/js/platform/browser/game_analytics.js b/src/js/platform/browser/game_analytics.js index aa0ac796..da00eab4 100644 --- a/src/js/platform/browser/game_analytics.js +++ b/src/js/platform/browser/game_analytics.js @@ -18,23 +18,7 @@ const analyticsLocalFile = "shapez_token_123.bin"; export class ShapezGameAnalytics extends GameAnalyticsInterface { get environment() { - if (G_IS_DEV) { - return "dev"; - } - - if (G_IS_STANDALONE) { - return "steam"; - } - - if (G_IS_RELEASE) { - return "prod"; - } - - if (window.location.host.indexOf("alpha") >= 0) { - return "alpha"; - } else { - return "beta"; - } + return "steam-demo"; } /** diff --git a/src/js/platform/sound.js b/src/js/platform/sound.js index d43c76c2..3198b1b9 100644 --- a/src/js/platform/sound.js +++ b/src/js/platform/sound.js @@ -31,14 +31,10 @@ export const SOUNDS = { export const MUSIC = { // The theme always depends on the standalone only, even if running the full // version in the browser - theme: G_IS_STANDALONE ? "theme-full" : "theme-short", + theme: "theme-short", menu: "menu", }; -if (G_IS_STANDALONE || G_IS_DEV) { - MUSIC.puzzle = "puzzle-full"; -} - export class SoundInstanceInterface { constructor(key, url) { this.key = key; diff --git a/src/js/profile/application_settings.js b/src/js/profile/application_settings.js index 03f4fdcf..47965279 100644 --- a/src/js/profile/application_settings.js +++ b/src/js/profile/application_settings.js @@ -186,10 +186,7 @@ function initializeSettings() { if (app.platformWrapper.getSupportsFullscreen()) { app.platformWrapper.setFullscreen(value); } - }, - /** - * @param {Application} app - */ app => app.restrictionMgr.getHasExtendedSettings() + } ), new BoolSetting( diff --git a/src/js/states/main_menu.js b/src/js/states/main_menu.js index 10e280b9..b316e8a4 100644 --- a/src/js/states/main_menu.js +++ b/src/js/states/main_menu.js @@ -38,16 +38,15 @@ export class MainMenuState extends GameState { getInnerHTML() { const showLanguageIcon = !G_CHINA_VERSION && !G_WEGAME_VERSION; const showExitAppButton = G_IS_STANDALONE; - const showUpdateLabel = !G_WEGAME_VERSION; const showBrowserWarning = !G_IS_STANDALONE && !isSupportedBrowser(); - const showPuzzleDLC = !G_WEGAME_VERSION && (G_IS_STANDALONE || G_IS_DEV); + const showPuzzleDLC = false; const showWegameFooter = G_WEGAME_VERSION; - const hasMods = MODS.anyModsActive(); + const hasMods = false; let showExternalLinks = true; if (G_IS_STANDALONE) { - if (G_WEGAME_VERSION || G_CHINA_VERSION) { + if (G_WEGAME_VERSION) { showExternalLinks = false; } } else { @@ -58,19 +57,12 @@ export class MainMenuState extends GameState { } let showDiscordLink = showExternalLinks; - if (G_CHINA_VERSION) { - showDiscordLink = true; - } - const showCrosspromo = !G_IS_STANDALONE && showExternalLinks; + const showCrosspromo = false; const showDemoAdvertisement = showExternalLinks && this.app.restrictionMgr.getIsStandaloneMarketingActive(); - const ownsPuzzleDLC = - G_IS_DEV || - (G_IS_STANDALONE && - /** @type { PlatformWrapperImplElectron}*/ (this.app.platformWrapper).dlcs.puzzle); - + const ownsPuzzleDLC = false; const bannerHtml = `

${T.demoBanners.title}

${T.demoBanners.intro}

@@ -96,7 +88,6 @@ export class MainMenuState extends GameState {
diff --git a/src/js/states/mods.js b/src/js/states/mods.js index 1e0fe5f1..a59058f8 100644 --- a/src/js/states/mods.js +++ b/src/js/states/mods.js @@ -1,6 +1,5 @@ import { THIRDPARTY_URLS } from "../core/config"; import { TextualGameState } from "../core/textual_game_state"; -import { MODS } from "../mods/modloader"; import { T } from "../translations"; export class ModsState extends TextualGameState { @@ -14,35 +13,29 @@ export class ModsState extends TextualGameState { internalGetFullHtml() { let headerHtml = ` -
-

${this.getStateHeaderTitle()}

+
+

${this.getStateHeaderTitle()}

-
- ${ - (G_IS_STANDALONE || G_IS_DEV) && MODS.mods.length > 0 - ? `` - : "" - } - ${ - G_IS_STANDALONE || G_IS_DEV - ? `` - : "" - } -
+
+ ${ + G_IS_STANDALONE + ? `` + : "" + } +
-
`; +
`; return ` - ${headerHtml} -
- ${this.getInnerHTML()} -
- `; + ${headerHtml} +
+ ${this.getInnerHTML()} +
+ `; } getMainContentHTML() { - if (!G_IS_STANDALONE && !G_IS_DEV) { - return ` + return `

${T.mods.noModSupport}

@@ -52,49 +45,6 @@ export class ModsState extends TextualGameState {
`; - } - - if (MODS.mods.length === 0) { - return ` - -
- ${T.mods.modsInfo} - - -
- - `; - } - - let modsHtml = ``; - - MODS.mods.forEach(mod => { - modsHtml += ` -
- - ${T.mods.version}${mod.metadata.version} - ${T.mods.author}${mod.metadata.author} -
- -
- -
- `; - }); - return ` - -
- ${T.mods.modsInfo} -
- -
- ${modsHtml} -
- `; } onEnter() { diff --git a/translations/base-zh-CN.yaml b/translations/base-zh-CN.yaml index 6e70b501..edceae6a 100644 --- a/translations/base-zh-CN.yaml +++ b/translations/base-zh-CN.yaml @@ -74,7 +74,7 @@ mainMenu: puzzleDlcWishlist: 添加愿望单! puzzleDlcViewNow: 查看DLC mods: - title: 激活游戏模组(Mods) + title: 激活游戏模组 warningPuzzleDLC: 无法在任何游戏模组(Mods)下进行“谜题挑战者”DLC,请关闭所有游戏模组(Mods)。 dialogs: buttons: @@ -139,7 +139,8 @@ dialogs: desc: 您还没有解锁蓝图功能!通过第12关的挑战后可解锁蓝图。 keybindingsIntroduction: title: 实用快捷键 - desc: 这个游戏有很多有用的快捷键设定。以下是其中的一些介绍,记得在按键设置中查看其他按键设定!

+ desc: + 这个游戏有很多有用的快捷键设定。以下是其中的一些介绍,记得在按键设置中查看其他按键设定!

CTRL键 + 拖动:选择区域以复制或删除。
SHIFT键: 按住以放置多个同一种设施。
ALT键:反向放置传送带。
@@ -318,15 +319,18 @@ ingame: hints: 1_1_extractor: 在圆形上放置一个开采器来获取圆形!

提示:按下鼠标左键选中开采器 1_2_conveyor: 用传送带将您的开采器连接到中心基地上!

提示:选中传送带按下鼠标左键可拖动布置传送带! - 1_3_expand: 您可以放置更多的开采器传送带来更有效率地完成关卡目标。

+ 1_3_expand: + 您可以放置更多的开采器传送带来更有效率地完成关卡目标。

提示:按住 SHIFT 键可放置多个开采器,注意用R 键可旋转开采器的出口方向,确保开采的图形可以顺利传送。 2_1_place_cutter: 现在放置一个切割器,这个设施可把圆形切成两半!

注意:无论如何放置,切割机总是从上到下切割。 - 2_2_place_trash: 使用切割机后产生的废弃图形会导致堵塞

注意使用垃圾桶清除当前 + 2_2_place_trash: + 使用切割机后产生的废弃图形会导致堵塞

注意使用垃圾桶清除当前 (!) 不需要的废物。 2_3_more_cutters: 干的好!现在放置2个以上的切割机来加快当前缓慢的过程!

提示:用快捷键0-9可以快速选择各项设施! - 3_1_rectangles: 现在让我们开采一些矩形!找到矩形地带放置4个开采器并将它们用传送带连接到中心基地。

+ 3_1_rectangles: + 现在让我们开采一些矩形!找到矩形地带放置4个开采器并将它们用传送带连接到中心基地。

提示:选中传送带后按住SHIFT键可快速准确地规划传送带路线! 21_1_place_quad_painter: 放置四口上色器并且获取一些圆形白色红色! 21_2_switch_to_wires: 按 E 键选择电线层

@@ -620,7 +624,8 @@ storyRewards: desc: 恭喜!您解锁了旋转机。它会顺时针将输入的图形旋转90度。 reward_painter: title: 上色 - desc: 恭喜!您解锁了上色器。开采一些颜色(就像您开采图形一样),将其在上色器中与图形结合来将图形上色! + desc: + 恭喜!您解锁了上色器。开采一些颜色(就像您开采图形一样),将其在上色器中与图形结合来将图形上色!
注意:如果您不幸患有色盲,可以在设置中启用色盲模式 reward_mixer: title: 混合颜色 @@ -637,11 +642,13 @@ storyRewards: desc: 恭喜!您解锁了隧道。它可放置在传送带设施下方以运送物品。 reward_rotater_ccw: title: 逆时针旋转 - desc: 恭喜!您解锁了旋转机逆时针变体。它可以逆时针旋转图形。 + desc: + 恭喜!您解锁了旋转机逆时针变体。它可以逆时针旋转图形
选择旋转机然后按"T"键来选取这个变体。 reward_miner_chainable: title: 链式开采器 - desc: 您已经解锁了链式开采器!它能转发资源给其他的开采器,这样您就能更有效率的开采各类资源了!

+ desc: + 您已经解锁了链式开采器!它能转发资源给其他的开采器,这样您就能更有效率的开采各类资源了!

注意:新的开采器已替换了工具栏里旧的开采器! reward_underground_belt_tier_2: title: 二级隧道 @@ -658,12 +665,14 @@ storyRewards:
优先从左边输出,这样您就可以用它做一个溢流门了! reward_freeplay: title: 自由模式 - desc: 成功了!您解锁了自由模式!挑战升级!这意味着现在将随机生成图形! + desc: + 成功了!您解锁了自由模式!挑战升级!这意味着现在将随机生成图形! 从现在起,中心基地最为需要的是产量,我强烈建议您去制造一台能够自动交付所需图形的机器!

基地会在电线层输出需要的图形,您需要去分析图形并在此基础上自动配置您的工厂。 reward_blueprints: title: 蓝图 - desc: 您现在可以复制粘贴您的工厂的一部分了!按住 CTRL键并拖动鼠标来选择一块区域,然后按C键复制。 + desc: + 您现在可以复制粘贴您的工厂的一部分了!按住 CTRL键并拖动鼠标来选择一块区域,然后按C键复制。

粘贴并不是免费的,您需要制造蓝图图形来负担。蓝图图形是您刚刚交付的图形。 no_reward: title: 下一关 @@ -691,7 +700,8 @@ storyRewards:
注意:您注意到传送读取器存储器输出的他们最后读取的物品了吗?试着在显示屏上展示一下! reward_constant_signal: title: 恒定信号 - desc: 恭喜!您解锁了生成于电线层之上的恒定信号,把它连接到过滤器时非常有用。 + desc: + 恭喜!您解锁了生成于电线层之上的恒定信号,把它连接到过滤器时非常有用。
比如,它能发出图形、颜色、开关值(1 / 0)的固定信号。 reward_logic_gates: title: 逻辑门 @@ -710,7 +720,8 @@ storyRewards: 提示:可在设置中打开电线层教程! reward_filter: title: 物品过滤器 - desc: 恭喜!您解锁了物品过滤器!它会根据在电线层上输入的信号决定是从上面还是右边输出物品。

+ desc: + 恭喜!您解锁了物品过滤器!它会根据在电线层上输入的信号决定是从上面还是右边输出物品。

您也可以输入开关值(1 / 0)信号来激活或者禁用它。 reward_demo_end: title: 试玩结束 @@ -1093,7 +1104,7 @@ backendErrors: too-many-likes-already: 您的谜题已经得到了许多玩家的赞赏。如果您仍然希望删除它,请联系support@shapez.io! no-permission: 您没有执行此操作的权限。 mods: - title: 游戏模组(Mods) + title: 游戏模组 author: 作者 version: 版本 openFolder: 打开游戏模组(Mods)文件夹 @@ -1103,6 +1114,7 @@ mods: noModSupport: 您需要在Steam平台获得完整版才可以安装游戏模组(Mods)。 togglingComingSoon: title: 即将开放 - description: 当前只能通过将游戏模组(Mods)文件复制到mods文件夹或从mods文件夹移除来启用或禁用游戏模组(Mods)。 + description: + 当前只能通过将游戏模组(Mods)文件复制到mods文件夹或从mods文件夹移除来启用或禁用游戏模组(Mods)。 但是,可以切换游戏模组(Mods)已经计划在之后的更新中实现! modWebsite: Website