mirror of
https://github.com/tobspr/shapez.io.git
synced 2025-06-13 13:04:03 +00:00
2945 lines
164 KiB
HTML
2945 lines
164 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<base data-ice="baseUrl" href="../../../">
|
|
<title data-ice="title">js/game/belt_path.js | Shapez.io - Mods</title>
|
|
<link type="text/css" rel="stylesheet" href="css/style.css">
|
|
<link type="text/css" rel="stylesheet" href="css/prettify-tomorrow.css">
|
|
<script src="script/prettify/prettify.js"></script>
|
|
<script src="script/manual.js"></script>
|
|
<meta name="description" content="The shapez.io mods theme for esdoc"><meta property="twitter:card" content="summary"><meta property="twitter:title" content="Shapez.io - Mods"><meta property="twitter:description" content="The shapez.io mods theme for esdoc"></head>
|
|
|
|
<body class="layout-container" data-ice="rootContainer">
|
|
<header>
|
|
<a href="/"><img src="./image/logo.svg"></a>
|
|
<a href="./">Home</a>
|
|
|
|
<a href="identifiers.html">Reference</a>
|
|
<a href="source.html">Source</a>
|
|
|
|
<div class="search-box">
|
|
<span>
|
|
<img src="./image/search.svg">
|
|
<span class="search-input-edge"></span><input class="search-input"><span class="search-input-edge"></span>
|
|
</span>
|
|
<ul class="search-result"></ul>
|
|
</div>
|
|
<a style="position:relative; top:3px;" href="https://github.com/tobspr/shapez.io"><img width="20px" src="./image/github.png"></a></header>
|
|
|
|
<nav class="navigation" data-ice="nav"><div>
|
|
<ul>
|
|
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/application.js~Application.html">Application</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-applyLanguage">applyLanguage</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-autoDetectLanguageId">autoDetectLanguageId</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-matchOverwriteRecursive">matchOverwriteRecursive</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-updateApplicationLanguage">updateApplicationLanguage</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-CHANGELOG">CHANGELOG</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-LANGUAGES">LANGUAGES</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-T">T</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#core">core</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/animation_frame.js~AnimationFrame.html">AnimationFrame</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/background_resources_loader.js~BackgroundResourcesLoader.html">BackgroundResourcesLoader</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/buffer_maintainer.js~BufferMaintainer.html">BufferMaintainer</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/draw_parameters.js~DrawParameters.html">DrawParameters</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/explained_result.js~ExplainedResult.html">ExplainedResult</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/factory.js~Factory.html">Factory</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/game_state.js~GameState.html">GameState</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/input_distributor.js~InputDistributor.html">InputDistributor</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/input_receiver.js~InputReceiver.html">InputReceiver</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/loader.js~LoaderImpl.html">LoaderImpl</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/modal_dialog_elements.js~Dialog.html">Dialog</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/modal_dialog_elements.js~DialogLoading.html">DialogLoading</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/modal_dialog_elements.js~DialogOptionChooser.html">DialogOptionChooser</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/modal_dialog_elements.js~DialogWithForm.html">DialogWithForm</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/modal_dialog_forms.js~FormElement.html">FormElement</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/modal_dialog_forms.js~FormElementCheckbox.html">FormElementCheckbox</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/modal_dialog_forms.js~FormElementInput.html">FormElementInput</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/modal_dialog_forms.js~FormElementItemChooser.html">FormElementItemChooser</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/read_write_proxy.js~ReadWriteProxy.html">ReadWriteProxy</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/rectangle.js~Rectangle.html">Rectangle</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/request_channel.js~RequestChannel.html">RequestChannel</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/restriction_manager.js~RestrictionManager.html">RestrictionManager</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/rng.js~RandomNumberGenerator.html">RandomNumberGenerator</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/signal.js~Signal.html">Signal</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/singleton_factory.js~SingletonFactory.html">SingletonFactory</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/sprites.js~AtlasSprite.html">AtlasSprite</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/sprites.js~BaseSprite.html">BaseSprite</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/sprites.js~RegularSprite.html">RegularSprite</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/sprites.js~SpriteAtlasLink.html">SpriteAtlasLink</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/stale_area_detector.js~StaleAreaDetector.html">StaleAreaDetector</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/state_manager.js~StateManager.html">StateManager</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/textual_game_state.js~TextualGameState.html">TextualGameState</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/tracked_state.js~TrackedState.html">TrackedState</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/core/vector.js~Vector.html">Vector</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-cachebust">cachebust</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-getDeviceDPI">getDeviceDPI</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-prepareHighDPIContext">prepareHighDPIContext</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-resizeCanvas">resizeCanvas</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-resizeCanvasAndClear">resizeCanvasAndClear</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-resizeHighDPICanvas">resizeHighDPICanvas</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-smoothenDpi">smoothenDpi</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-drawRotatedSprite">drawRotatedSprite</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-drawSpriteClipped">drawSpriteClipped</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-initDrawUtils">initDrawUtils</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-initBuildingsByCategory">initBuildingsByCategory</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-setGlobalApp">setGlobalApp</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-createLogger">createLogger</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-globalDebug">globalDebug</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-globalError">globalError</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-globalLog">globalLog</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-globalWarn">globalWarn</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-logSection">logSection</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-serializeError">serializeError</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-stringifyObjectContainingErrors">stringifyObjectContainingErrors</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-compressU8">compressU8</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-compressU8WHeader">compressU8WHeader</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-compressX64">compressX64</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-decompressU8WHeader">decompressU8WHeader</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-decompressX64">decompressX64</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-computeCrc">computeCrc</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-getNameOfProvider">getNameOfProvider</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-sha1">sha1</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-accessNestedPropertyReverse">accessNestedPropertyReverse</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-arrayDelete">arrayDelete</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-arrayDeleteValue">arrayDeleteValue</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-clamp">clamp</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-epsilonCompare">epsilonCompare</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-fastArrayDelete">fastArrayDelete</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-fastArrayDeleteValue">fastArrayDeleteValue</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-fastArrayDeleteValueIfContained">fastArrayDeleteValueIfContained</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-fillInLinkIntoTranslation">fillInLinkIntoTranslation</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-findNiceIntegerValue">findNiceIntegerValue</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-findNiceValue">findNiceValue</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-formatBigNumber">formatBigNumber</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-formatBigNumberFull">formatBigNumberFull</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-formatItemsPerSecond">formatItemsPerSecond</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-formatSeconds">formatSeconds</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-formatSecondsToTimeAgo">formatSecondsToTimeAgo</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-generateFileDownload">generateFileDownload</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-generateMatrixRotations">generateMatrixRotations</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-getIPCRenderer">getIPCRenderer</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-getPlatformName">getPlatformName</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-getRomanNumber">getRomanNumber</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-isAndroid">isAndroid</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-isIos">isIos</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-isSupportedBrowser">isSupportedBrowser</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-lerp">lerp</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-make2DUndefinedArray">make2DUndefinedArray</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-makeButton">makeButton</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-makeButtonElement">makeButtonElement</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-makeDiv">makeDiv</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-newEmptyMap">newEmptyMap</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-randomChoice">randomChoice</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-randomInt">randomInt</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-removeAllChildren">removeAllChildren</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-rotateDirectionalObject">rotateDirectionalObject</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-rotateFlatMatrix3x3">rotateFlatMatrix3x3</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-round1Digit">round1Digit</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-round1DigitLocalized">round1DigitLocalized</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-round2Digits">round2Digits</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-round3Digits">round3Digits</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-round4Digits">round4Digits</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-safeModulo">safeModulo</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-smoothPulse">smoothPulse</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-startFileChoose">startFileChoose</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-waitNextFrame">waitNextFrame</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-mixVector">mixVector</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-asyncCompressor">asyncCompressor</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-compressionPrefix">compressionPrefix</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-atlasFiles">atlasFiles</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-MAX_MOVE_DISTANCE_PX">MAX_MOVE_DISTANCE_PX</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-clickDetectorGlobals">clickDetectorGlobals</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-A_B_TESTING_LINK_TYPE">A_B_TESTING_LINK_TYPE</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-IS_DEBUG">IS_DEBUG</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-IS_MAC">IS_MAC</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-IS_MOBILE">IS_MOBILE</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-SUPPORT_TOUCH">SUPPORT_TOUCH</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-THIRDPARTY_URLS">THIRDPARTY_URLS</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-globalConfig">globalConfig</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-APPLICATION_ERROR_OCCURED">APPLICATION_ERROR_OCCURED</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-gBuildingsByCategory">gBuildingsByCategory</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-gComponentRegistry">gComponentRegistry</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-gGameModeRegistry">gGameModeRegistry</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-gGameSpeedRegistry">gGameSpeedRegistry</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-gItemRegistry">gItemRegistry</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-gMetaBuildingRegistry">gMetaBuildingRegistry</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-GLOBAL_APP">GLOBAL_APP</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-Loader">Loader</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-queryParamOptions">queryParamOptions</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-PROMISE_ABORTED">PROMISE_ABORTED</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-CRC_PREFIX">CRC_PREFIX</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-STOP_PROPAGATION">STOP_PROPAGATION</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-FULL_CLIP_RECT">FULL_CLIP_RECT</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-ORIGINAL_SPRITE_SCALE">ORIGINAL_SPRITE_SCALE</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-arrayAllDirections">arrayAllDirections</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumAngleToDirection">enumAngleToDirection</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumDirection">enumDirection</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumDirectionToAngle">enumDirectionToAngle</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumDirectionToVector">enumDirectionToVector</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumInvertedDirections">enumInvertedDirections</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-JobEntry">JobEntry</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-SourceData">SourceData</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-CacheEntry">CacheEntry</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-ClickDetectorConstructorArgs">ClickDetectorConstructorArgs</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-DirectionalObject">DirectionalObject</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#game">game</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/automatic_save.js~AutomaticSave.html">AutomaticSave</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/base_item.js~BaseItem.html">BaseItem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/belt_path.js~BeltPath.html">BeltPath</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/blueprint.js~Blueprint.html">Blueprint</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/camera.js~Camera.html">Camera</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/component.js~Component.html">Component</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/core.js~GameCore.html">GameCore</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/dynamic_tickrate.js~DynamicTickrate.html">DynamicTickrate</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/entity.js~Entity.html">Entity</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/entity_components.js~EntityComponentStorage.html">EntityComponentStorage</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/entity_manager.js~EntityManager.html">EntityManager</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/game_loading_overlay.js~GameLoadingOverlay.html">GameLoadingOverlay</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/game_system.js~GameSystem.html">GameSystem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/game_system_manager.js~GameSystemManager.html">GameSystemManager</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/game_system_with_filter.js~GameSystemWithFilter.html">GameSystemWithFilter</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hub_goals.js~HubGoals.html">HubGoals</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/key_action_mapper.js~KeyActionMapper.html">KeyActionMapper</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/key_action_mapper.js~Keybinding.html">Keybinding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/map.js~BaseMap.html">BaseMap</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/map_chunk.js~MapChunk.html">MapChunk</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/map_chunk_view.js~MapChunkView.html">MapChunkView</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/map_view.js~MapView.html">MapView</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/meta_building.js~MetaBuilding.html">MetaBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/production_analytics.js~ProductionAnalytics.html">ProductionAnalytics</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/root.js~GameRoot.html">GameRoot</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/shape_definition.js~ShapeDefinition.html">ShapeDefinition</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/shape_definition_manager.js~ShapeDefinitionManager.html">ShapeDefinitionManager</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/sound_proxy.js~SoundProxy.html">SoundProxy</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-getBuildingDataFromCode">getBuildingDataFromCode</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-getCodeFromBuildingData">getCodeFromBuildingData</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-registerBuildingVariant">registerBuildingVariant</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-addVanillaComponentsToAPI">addVanillaComponentsToAPI</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-initComponentRegistry">initComponentRegistry</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-addVanillaGameModesToAPI">addVanillaGameModesToAPI</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-initGameModeRegistry">initGameModeRegistry</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-addVanillaGameSpeedToAPI">addVanillaGameSpeedToAPI</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-initGameSpeedRegistry">initGameSpeedRegistry</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-addVanillaSystemsToAPI">addVanillaSystemsToAPI</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-getRandomHint">getRandomHint</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-addVanillaItemsToAPI">addVanillaItemsToAPI</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-initItemRegistry">initItemRegistry</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-itemResolverSingleton">itemResolverSingleton</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-getStringForKeyCode">getStringForKeyCode</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-addVanillaBuildingsToAPI">addVanillaBuildingsToAPI</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-initBuildingCodesAfterResourcesLoaded">initBuildingCodesAfterResourcesLoaded</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-initMetaBuildingRegistry">initMetaBuildingRegistry</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-createSimpleShape">createSimpleShape</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-applyGameTheme">applyGameTheme</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumSavePriority">enumSavePriority</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-gBuildingVariants">gBuildingVariants</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-USER_INTERACT_MOVE">USER_INTERACT_MOVE</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-USER_INTERACT_TOUCHEND">USER_INTERACT_TOUCHEND</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-USER_INTERACT_ZOOM">USER_INTERACT_ZOOM</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumMouseButton">enumMouseButton</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumColorMixingResults">enumColorMixingResults</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumColorToShortcode">enumColorToShortcode</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumColors">enumColors</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumColorsToHexCode">enumColorsToHexCode</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumShortcodeToColor">enumShortcodeToColor</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-typeItemSingleton">typeItemSingleton</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-KEYCODE_LMB">KEYCODE_LMB</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-KEYCODE_MMB">KEYCODE_MMB</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-KEYCODE_RMB">KEYCODE_RMB</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-KEYMAPPINGS">KEYMAPPINGS</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-CHUNK_OVERLAY_RES">CHUNK_OVERLAY_RES</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-defaultBuildingVariant">defaultBuildingVariant</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumAnalyticsDataSource">enumAnalyticsDataSource</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-layers">layers</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumShortcodeToSubShape">enumShortcodeToSubShape</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumSubShape">enumSubShape</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumSubShapeToShortcode">enumSubShapeToShortcode</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-THEME">THEME</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-VANILLA_THEMES">VANILLA_THEMES</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumHubGoalRewards">enumHubGoalRewards</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumHubGoalRewardsToContentUnlocked">enumHubGoalRewardsToContentUnlocked</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-BuildingVariantIdentifier">BuildingVariantIdentifier</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-StaticComponent">StaticComponent</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-null">null</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-LevelDefinition">LevelDefinition</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-TierRequirement">TierRequirement</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-UpgradeRequirement">UpgradeRequirement</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-UpgradeTiers">UpgradeTiers</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-AcceptorsAffectingTile">AcceptorsAffectingTile</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-AcceptorsAndEjectorsAffectingTile">AcceptorsAndEjectorsAffectingTile</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-EjectorsAffectingTile">EjectorsAffectingTile</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-ShapeLayer">ShapeLayer</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-ShapeLayerItem">ShapeLayerItem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-TutorialGoalReward">TutorialGoalReward</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#game-buildings">game/buildings</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/analyzer.js~MetaAnalyzerBuilding.html">MetaAnalyzerBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/balancer.js~MetaBalancerBuilding.html">MetaBalancerBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/belt.js~MetaBeltBuilding.html">MetaBeltBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/comparator.js~MetaComparatorBuilding.html">MetaComparatorBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/constant_signal.js~MetaConstantSignalBuilding.html">MetaConstantSignalBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/cutter.js~MetaCutterBuilding.html">MetaCutterBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/display.js~MetaDisplayBuilding.html">MetaDisplayBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/filter.js~MetaFilterBuilding.html">MetaFilterBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/hub.js~MetaHubBuilding.html">MetaHubBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/item_producer.js~MetaItemProducerBuilding.html">MetaItemProducerBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/lever.js~MetaLeverBuilding.html">MetaLeverBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/logic_gate.js~MetaLogicGateBuilding.html">MetaLogicGateBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/miner.js~MetaMinerBuilding.html">MetaMinerBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/mixer.js~MetaMixerBuilding.html">MetaMixerBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/painter.js~MetaPainterBuilding.html">MetaPainterBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/reader.js~MetaReaderBuilding.html">MetaReaderBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/rotater.js~MetaRotaterBuilding.html">MetaRotaterBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/stacker.js~MetaStackerBuilding.html">MetaStackerBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/storage.js~MetaStorageBuilding.html">MetaStorageBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/transistor.js~MetaTransistorBuilding.html">MetaTransistorBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/trash.js~MetaTrashBuilding.html">MetaTrashBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/underground_belt.js~MetaUndergroundBeltBuilding.html">MetaUndergroundBeltBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/virtual_processor.js~MetaVirtualProcessorBuilding.html">MetaVirtualProcessorBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/wire.js~MetaWireBuilding.html">MetaWireBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/buildings/wire_tunnel.js~MetaWireTunnelBuilding.html">MetaWireTunnelBuilding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#game-components">game/components</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/components/belt.js~BeltComponent.html">BeltComponent</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/components/belt_reader.js~BeltReaderComponent.html">BeltReaderComponent</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/components/constant_signal.js~ConstantSignalComponent.html">ConstantSignalComponent</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/components/display.js~DisplayComponent.html">DisplayComponent</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/components/hub.js~HubComponent.html">HubComponent</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/components/item_producer.js~ItemProducerComponent.html">ItemProducerComponent</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/components/lever.js~LeverComponent.html">LeverComponent</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/components/logic_gate.js~LogicGateComponent.html">LogicGateComponent</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/components/miner.js~MinerComponent.html">MinerComponent</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/components/static_map_entity.js~StaticMapEntityComponent.html">StaticMapEntityComponent</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/components/storage.js~StorageComponent.html">StorageComponent</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/components/wire.js~WireComponent.html">WireComponent</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/components/wire_tunnel.js~WireTunnelComponent.html">WireTunnelComponent</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumClippedBeltUnderlayType">enumClippedBeltUnderlayType</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumItemProcessorRequirements">enumItemProcessorRequirements</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumItemProcessorTypes">enumItemProcessorTypes</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumLogicGateType">enumLogicGateType</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumUndergroundBeltMode">enumUndergroundBeltMode</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumWireType">enumWireType</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumPinSlotType">enumPinSlotType</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-BeltUnderlayTile">BeltUnderlayTile</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-PendingFilterItem">PendingFilterItem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-ItemAcceptorLocatedSlot">ItemAcceptorLocatedSlot</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-ItemAcceptorSlot">ItemAcceptorSlot</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-ItemAcceptorSlotConfig">ItemAcceptorSlotConfig</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-ItemEjectorSlot">ItemEjectorSlot</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-EjectorCharge">EjectorCharge</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-EjectorItemToEject">EjectorItemToEject</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-LinkedUndergroundBelt">LinkedUndergroundBelt</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-WirePinSlot">WirePinSlot</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-WirePinSlotDefinition">WirePinSlotDefinition</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#game-hud">game/hud</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/base_hud_part.js~BaseHUDPart.html">BaseHUDPart</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/dynamic_dom_attach.js~DynamicDomAttach.html">DynamicDomAttach</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/hud.js~GameHUD.html">GameHUD</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/trailer_maker.js~TrailerMaker.html">TrailerMaker</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#game-hud-parts">game/hud/parts</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/base_toolbar.js~HUDBaseToolbar.html">HUDBaseToolbar</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/beta_overlay.js~HUDBetaOverlay.html">HUDBetaOverlay</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/blueprint_placer.js~HUDBlueprintPlacer.html">HUDBlueprintPlacer</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/building_placer.js~HUDBuildingPlacer.html">HUDBuildingPlacer</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/building_placer_logic.js~HUDBuildingPlacerLogic.html">HUDBuildingPlacerLogic</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/buildings_toolbar.js~HUDBuildingsToolbar.html">HUDBuildingsToolbar</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/cat_memes.js~HUDCatMemes.html">HUDCatMemes</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/color_blind_helper.js~HUDColorBlindHelper.html">HUDColorBlindHelper</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/constant_signal_edit.js~HUDConstantSignalEdit.html">HUDConstantSignalEdit</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/debug_info.js~HUDDebugInfo.html">HUDDebugInfo</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/entity_debugger.js~HUDEntityDebugger.html">HUDEntityDebugger</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/game_menu.js~HUDGameMenu.html">HUDGameMenu</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/interactive_tutorial.js~HUDInteractiveTutorial.html">HUDInteractiveTutorial</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/layer_preview.js~HUDLayerPreview.html">HUDLayerPreview</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/lever_toggle.js~HUDLeverToggle.html">HUDLeverToggle</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/mass_selector.js~HUDMassSelector.html">HUDMassSelector</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/miner_highlight.js~HUDMinerHighlight.html">HUDMinerHighlight</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/modal_dialogs.js~HUDModalDialogs.html">HUDModalDialogs</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/notifications.js~HUDNotifications.html">HUDNotifications</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/pinned_shapes.js~HUDPinnedShapes.html">HUDPinnedShapes</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/sandbox_controller.js~HUDSandboxController.html">HUDSandboxController</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/screenshot_exporter.js~HUDScreenshotExporter.html">HUDScreenshotExporter</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/settings_menu.js~HUDSettingsMenu.html">HUDSettingsMenu</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/shape_viewer.js~HUDShapeViewer.html">HUDShapeViewer</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/shop.js~HUDShop.html">HUDShop</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/standalone_advantages.js~HUDStandaloneAdvantages.html">HUDStandaloneAdvantages</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/statistics.js~HUDStatistics.html">HUDStatistics</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/statistics_handle.js~HUDShapeStatisticsHandle.html">HUDShapeStatisticsHandle</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/tutorial_hints.js~HUDPartTutorialHints.html">HUDPartTutorialHints</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/tutorial_video_offer.js~HUDTutorialVideoOffer.html">HUDTutorialVideoOffer</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/unlock_notification.js~HUDUnlockNotification.html">HUDUnlockNotification</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/vignette_overlay.js~HUDVignetteOverlay.html">HUDVignetteOverlay</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/watermark.js~HUDWatermark.html">HUDWatermark</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/waypoints.js~HUDWaypoints.html">HUDWaypoints</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/wire_info.js~HUDWireInfo.html">HUDWireInfo</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/wires_overlay.js~HUDWiresOverlay.html">HUDWiresOverlay</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/hud/parts/wires_toolbar.js~HUDWiresToolbar.html">HUDWiresToolbar</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumNotificationType">enumNotificationType</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumDisplayMode">enumDisplayMode</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-statisticsUnitsSeconds">statisticsUnitsSeconds</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-DebugChange">DebugChange</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-KeyBinding">KeyBinding</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-KeyCode">KeyCode</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-Waypoint">Waypoint</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#game-items">game/items</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/items/boolean_item.js~BooleanItem.html">BooleanItem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/items/color_item.js~ColorItem.html">ColorItem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/items/shape_item.js~ShapeItem.html">ShapeItem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-isTrueItem">isTrueItem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-isTruthyItem">isTruthyItem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-BOOL_FALSE_SINGLETON">BOOL_FALSE_SINGLETON</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-BOOL_TRUE_SINGLETON">BOOL_TRUE_SINGLETON</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#game-modes">game/modes</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/modes/regular.js~RegularGameMode.html">RegularGameMode</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-generateLevelDefinitions">generateLevelDefinitions</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#game-systems">game/systems</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/systems/belt.js~BeltSystem.html">BeltSystem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/systems/belt_reader.js~BeltReaderSystem.html">BeltReaderSystem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/systems/belt_underlays.js~BeltUnderlaysSystem.html">BeltUnderlaysSystem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/systems/constant_signal.js~ConstantSignalSystem.html">ConstantSignalSystem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/systems/display.js~DisplaySystem.html">DisplaySystem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/systems/filter.js~FilterSystem.html">FilterSystem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/systems/hub.js~HubSystem.html">HubSystem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/systems/item_acceptor.js~ItemAcceptorSystem.html">ItemAcceptorSystem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/systems/item_ejector.js~ItemEjectorSystem.html">ItemEjectorSystem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/systems/item_processor_overlays.js~ItemProcessorOverlaysSystem.html">ItemProcessorOverlaysSystem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/systems/item_producer.js~ItemProducerSystem.html">ItemProducerSystem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/systems/lever.js~LeverSystem.html">LeverSystem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/systems/logic_gate.js~LogicGateSystem.html">LogicGateSystem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/systems/map_resources.js~MapResourcesSystem.html">MapResourcesSystem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/systems/miner.js~MinerSystem.html">MinerSystem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/systems/static_map_entity.js~StaticMapEntitySystem.html">StaticMapEntitySystem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/systems/storage.js~StorageSystem.html">StorageSystem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/systems/underground_belt.js~UndergroundBeltSystem.html">UndergroundBeltSystem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/systems/wire.js~WireNetwork.html">WireNetwork</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/systems/wire.js~WireSystem.html">WireSystem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/systems/wired_pins.js~WiredPinsSystem.html">WiredPinsSystem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-BELT_ANIM_COUNT">BELT_ANIM_COUNT</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-ProcessorImplementationPayload">ProcessorImplementationPayload</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-ProducedItem">ProducedItem</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#game-time">game/time</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/time/base_game_speed.js~BaseGameSpeed.html">BaseGameSpeed</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/time/fast_forward_game_speed.js~FastForwardGameSpeed.html">FastForwardGameSpeed</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/time/game_time.js~GameTime.html">GameTime</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/time/paused_game_speed.js~PausedGameSpeed.html">PausedGameSpeed</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/game/time/regular_game_speed.js~RegularGameSpeed.html">RegularGameSpeed</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#modloader">modloader</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/modloader/mod.js~ShapezAPI.html">ShapezAPI</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/modloader/modmanager.js~ModManager.html">ModManager</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-matchOverwriteRecursiveSettings">matchOverwriteRecursiveSettings</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-ModInfo">ModInfo</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-null">null</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-ModPack">ModPack</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#platform">platform</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/platform/ad_provider.js~AdProviderInterface.html">AdProviderInterface</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/platform/analytics.js~AnalyticsInterface.html">AnalyticsInterface</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/platform/game_analytics.js~GameAnalyticsInterface.html">GameAnalyticsInterface</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/platform/sound.js~MusicInstanceInterface.html">MusicInstanceInterface</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/platform/sound.js~SoundInstanceInterface.html">SoundInstanceInterface</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/platform/sound.js~SoundInterface.html">SoundInterface</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/platform/storage.js~StorageInterface.html">StorageInterface</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/platform/wrapper.js~PlatformWrapperInterface.html">PlatformWrapperInterface</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-MUSIC">MUSIC</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-SOUNDS">SOUNDS</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-FILE_NOT_FOUND">FILE_NOT_FOUND</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#platform-ad-providers">platform/ad_providers</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/platform/ad_providers/adinplay.js~AdinplayAdProvider.html">AdinplayAdProvider</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/platform/ad_providers/gamedistribution.js~GamedistributionAdProvider.html">GamedistributionAdProvider</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/platform/ad_providers/no_ad_provider.js~NoAdProvider.html">NoAdProvider</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#platform-browser">platform/browser</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/platform/browser/game_analytics.js~ShapezGameAnalytics.html">ShapezGameAnalytics</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/platform/browser/google_analytics.js~GoogleAnalyticsImpl.html">GoogleAnalyticsImpl</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/platform/browser/no_game_analytics.js~NoGameAnalytics.html">NoGameAnalytics</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/platform/browser/sound.js~SoundImplBrowser.html">SoundImplBrowser</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/platform/browser/storage.js~StorageImplBrowser.html">StorageImplBrowser</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/platform/browser/storage_indexed_db.js~StorageImplBrowserIndexedDB.html">StorageImplBrowserIndexedDB</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/platform/browser/wrapper.js~PlatformWrapperImplBrowser.html">PlatformWrapperImplBrowser</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#platform-electron">platform/electron</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/platform/electron/storage.js~StorageImplElectron.html">StorageImplElectron</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/platform/electron/wrapper.js~PlatformWrapperImplElectron.html">PlatformWrapperImplElectron</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#profile">profile</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/profile/application_settings.js~ApplicationSettings.html">ApplicationSettings</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/profile/setting_types.js~BaseSetting.html">BaseSetting</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/profile/setting_types.js~BoolSetting.html">BoolSetting</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/profile/setting_types.js~EnumSetting.html">EnumSetting</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/profile/setting_types.js~RangeSetting.html">RangeSetting</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-allApplicationSettings">allApplicationSettings</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-getApplicationSettingById">getApplicationSettingById</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-autosaveIntervals">autosaveIntervals</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumCategories">enumCategories</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-movementSpeeds">movementSpeeds</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-scrollWheelSensitivities">scrollWheelSensitivities</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-uiScales">uiScales</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#savegame">savegame</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/savegame.js~Savegame.html">Savegame</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/savegame_interface.js~BaseSavegameInterface.html">BaseSavegameInterface</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/savegame_manager.js~SavegameManager.html">SavegameManager</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/savegame_serializer.js~SavegameSerializer.html">SavegameSerializer</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization.js~BasicSerializableObject.html">BasicSerializableObject</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~BaseDataType.html">BaseDataType</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypeArray.html">TypeArray</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypeBoolean.html">TypeBoolean</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypeClass.html">TypeClass</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypeClassData.html">TypeClassData</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypeClassFromMetaclass.html">TypeClassFromMetaclass</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypeClassId.html">TypeClassId</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypeEntity.html">TypeEntity</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypeEntityWeakref.html">TypeEntityWeakref</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypeEnum.html">TypeEnum</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypeFixedClass.html">TypeFixedClass</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypeInteger.html">TypeInteger</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypeKeyValueMap.html">TypeKeyValueMap</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypeMetaClass.html">TypeMetaClass</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypeNullable.html">TypeNullable</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypeNumber.html">TypeNumber</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypePair.html">TypePair</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypePositiveInteger.html">TypePositiveInteger</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypePositiveNumber.html">TypePositiveNumber</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypeString.html">TypeString</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypeStructuredObject.html">TypeStructuredObject</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypeTileVector.html">TypeTileVector</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serialization_data_types.js~TypeVector.html">TypeVector</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/serializer_internal.js~SerializerInternal.html">SerializerInternal</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-compressObject">compressObject</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-decompressObject">decompressObject</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-getSavegameInterface">getSavegameInterface</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-deserializeSchema">deserializeSchema</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-extendSchema">extendSchema</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-serializeSchema">serializeSchema</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-verifySchema">verifySchema</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-schemaToJsonSchema">schemaToJsonSchema</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-savegameInterfaces">savegameInterfaces</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-enumLocalSavegameStatus">enumLocalSavegameStatus</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-types">types</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-globalJsonSchemaDefs">globalJsonSchemaDefs</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-SavegamesData">SavegamesData</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-Schema">Schema</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#savegame-schemas">savegame/schemas</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/schemas/1000.js~SavegameInterface_V1000.html">SavegameInterface_V1000</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/schemas/1001.js~SavegameInterface_V1001.html">SavegameInterface_V1001</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/schemas/1002.js~SavegameInterface_V1002.html">SavegameInterface_V1002</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/schemas/1003.js~SavegameInterface_V1003.html">SavegameInterface_V1003</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/schemas/1004.js~SavegameInterface_V1004.html">SavegameInterface_V1004</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/schemas/1005.js~SavegameInterface_V1005.html">SavegameInterface_V1005</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/schemas/1006.js~SavegameInterface_V1006.html">SavegameInterface_V1006</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/schemas/1007.js~SavegameInterface_V1007.html">SavegameInterface_V1007</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/savegame/schemas/ML01.js~SavegameInterface_ML01.html">SavegameInterface_ML01</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-codes">codes</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-OldStaticMapEntity">OldStaticMapEntity</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#states">states</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/states/about.js~AboutState.html">AboutState</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/states/changelog.js~ChangelogState.html">ChangelogState</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/states/ingame.js~GameCreationPayload.html">GameCreationPayload</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/states/ingame.js~InGameState.html">InGameState</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/states/keybindings.js~KeybindingsState.html">KeybindingsState</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/states/main_menu.js~MainMenuState.html">MainMenuState</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/states/mobile_warning.js~MobileWarningState.html">MobileWarningState</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/states/preload.js~PreloadState.html">PreloadState</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/js/states/settings.js~SettingsState.html">SettingsState</a></span></span>
|
|
</li>
|
|
<li data-ice="doc">
|
|
<span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-gameCreationAction">gameCreationAction</a></span></span>
|
|
</li>
|
|
</ul>
|
|
</div></nav>
|
|
|
|
<div class="content" data-ice="content"><h1 data-ice="title">js/game/belt_path.js</h1>
|
|
<pre class="source-code line-number raw-source-code"><code class="prettyprint linenums" data-ice="content">import { globalConfig } from "../core/config";
|
|
import { DrawParameters } from "../core/draw_parameters";
|
|
import { createLogger } from "../core/logging";
|
|
import { Rectangle } from "../core/rectangle";
|
|
import { clamp, epsilonCompare, round4Digits } from "../core/utils";
|
|
import { enumDirection, enumDirectionToVector, enumInvertedDirections, Vector } from "../core/vector";
|
|
import { BasicSerializableObject, types } from "../savegame/serialization";
|
|
import { BaseItem } from "./base_item";
|
|
import { Entity } from "./entity";
|
|
import { typeItemSingleton } from "./item_resolver";
|
|
import { GameRoot } from "./root";
|
|
|
|
const logger = createLogger("belt_path");
|
|
|
|
// Helpers for more semantic access into interleaved arrays
|
|
const _nextDistance = 0;
|
|
const _item = 1;
|
|
|
|
const DEBUG = G_IS_DEV && false;
|
|
|
|
/**
|
|
* Stores a path of belts, used for optimizing performance
|
|
*/
|
|
export class BeltPath extends BasicSerializableObject {
|
|
static getId() {
|
|
return "BeltPath";
|
|
}
|
|
|
|
static getSchema() {
|
|
return {
|
|
entityPath: types.array(types.entity),
|
|
items: types.array(types.pair(types.ufloat, typeItemSingleton)),
|
|
spacingToFirstItem: types.ufloat,
|
|
};
|
|
}
|
|
|
|
/**
|
|
* Creates a path from a serialized object
|
|
* @param {GameRoot} root
|
|
* @param {Object} data
|
|
* @returns {BeltPath|string}
|
|
*/
|
|
static fromSerialized(root, data) {
|
|
// Create fake object which looks like a belt path but skips the constructor
|
|
const fakeObject = /** @type {BeltPath} */ (Object.create(BeltPath.prototype));
|
|
fakeObject.root = root;
|
|
|
|
// Deserialize the data
|
|
const errorCodeDeserialize = fakeObject.deserialize(data);
|
|
if (errorCodeDeserialize) {
|
|
return errorCodeDeserialize;
|
|
}
|
|
|
|
// Compute other properties
|
|
fakeObject.init(false);
|
|
|
|
return fakeObject;
|
|
}
|
|
|
|
/**
|
|
* @param {GameRoot} root
|
|
* @param {Array<Entity>} entityPath
|
|
*/
|
|
constructor(root, entityPath) {
|
|
super();
|
|
this.root = root;
|
|
|
|
assert(entityPath.length > 0, "invalid entity path");
|
|
this.entityPath = entityPath;
|
|
|
|
/**
|
|
* Stores the items sorted, and their distance to the previous item (or start)
|
|
* Layout: [distanceToNext, item]
|
|
* @type {Array<[number, BaseItem]>}
|
|
*/
|
|
this.items = [];
|
|
|
|
/**
|
|
* Stores the spacing to the first item
|
|
*/
|
|
|
|
this.init();
|
|
|
|
if (G_IS_DEV && globalConfig.debug.checkBeltPaths) {
|
|
this.debug_checkIntegrity("constructor");
|
|
}
|
|
}
|
|
/**
|
|
* Initializes the path by computing the properties which are not saved
|
|
* @param {boolean} computeSpacing Whether to also compute the spacing
|
|
*/
|
|
init(computeSpacing = true) {
|
|
this.onPathChanged();
|
|
|
|
this.totalLength = this.computeTotalLength();
|
|
|
|
if (computeSpacing) {
|
|
this.spacingToFirstItem = this.totalLength;
|
|
}
|
|
|
|
/**
|
|
* Current bounds of this path
|
|
* @type {Rectangle}
|
|
*/
|
|
this.worldBounds = this.computeBounds();
|
|
|
|
// Connect the belts
|
|
for (let i = 0; i < this.entityPath.length; ++i) {
|
|
this.entityPath[i].components.Belt.assignedPath = this;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Returns whether this path can accept a new item
|
|
* @returns {boolean}
|
|
*/
|
|
canAcceptItem() {
|
|
return this.spacingToFirstItem >= globalConfig.itemSpacingOnBelts;
|
|
}
|
|
|
|
/**
|
|
* Tries to accept the item
|
|
* @param {BaseItem} item
|
|
*/
|
|
tryAcceptItem(item) {
|
|
if (this.spacingToFirstItem >= globalConfig.itemSpacingOnBelts) {
|
|
// So, since we already need one tick to accept this item we will add this directly.
|
|
const beltProgressPerTick =
|
|
this.root.hubGoals.getBeltBaseSpeed() *
|
|
this.root.dynamicTickrate.deltaSeconds *
|
|
globalConfig.itemSpacingOnBelts;
|
|
|
|
// First, compute how much progress we can make *at max*
|
|
const maxProgress = Math.max(0, this.spacingToFirstItem - globalConfig.itemSpacingOnBelts);
|
|
const initialProgress = Math.min(maxProgress, beltProgressPerTick);
|
|
|
|
this.items.unshift([this.spacingToFirstItem - initialProgress, item]);
|
|
this.spacingToFirstItem = initialProgress;
|
|
|
|
if (G_IS_DEV && globalConfig.debug.checkBeltPaths) {
|
|
this.debug_checkIntegrity("accept-item");
|
|
}
|
|
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* SLOW / Tries to find the item closest to the given tile
|
|
* @param {Vector} tile
|
|
* @returns {BaseItem|null}
|
|
*/
|
|
findItemAtTile(tile) {
|
|
// @TODO: This breaks color blind mode otherwise
|
|
return null;
|
|
}
|
|
|
|
/**
|
|
* Computes the tile bounds of the path
|
|
* @returns {Rectangle}
|
|
*/
|
|
computeBounds() {
|
|
let bounds = this.entityPath[0].components.StaticMapEntity.getTileSpaceBounds();
|
|
for (let i = 1; i < this.entityPath.length; ++i) {
|
|
const staticComp = this.entityPath[i].components.StaticMapEntity;
|
|
const otherBounds = staticComp.getTileSpaceBounds();
|
|
bounds = bounds.getUnion(otherBounds);
|
|
}
|
|
return bounds.allScaled(globalConfig.tileSize);
|
|
}
|
|
|
|
/**
|
|
* Recomputes cache variables once the path was changed
|
|
*/
|
|
onPathChanged() {
|
|
this.acceptorTarget = this.computeAcceptingEntityAndSlot();
|
|
|
|
/**
|
|
* How many items past the first item are compressed
|
|
*/
|
|
this.numCompressedItemsAfterFirstItem = 0;
|
|
}
|
|
|
|
/**
|
|
* Called by the belt system when the surroundings changed
|
|
*/
|
|
onSurroundingsChanged() {
|
|
this.onPathChanged();
|
|
}
|
|
|
|
/**
|
|
* Finds the entity which accepts our items
|
|
* @param {boolean=} debug_Silent Whether debug output should be silent
|
|
* @return {{ entity: Entity, slot: number, direction?: enumDirection }}
|
|
*/
|
|
computeAcceptingEntityAndSlot(debug_Silent = false) {
|
|
DEBUG && !debug_Silent && logger.log("Recomputing acceptor target");
|
|
|
|
const lastEntity = this.entityPath[this.entityPath.length - 1];
|
|
const lastStatic = lastEntity.components.StaticMapEntity;
|
|
const lastBeltComp = lastEntity.components.Belt;
|
|
|
|
// Figure out where and into which direction we eject items
|
|
const ejectSlotWsTile = lastStatic.localTileToWorld(new Vector(0, 0));
|
|
const ejectSlotWsDirection = lastStatic.localDirectionToWorld(lastBeltComp.direction);
|
|
const ejectSlotWsDirectionVector = enumDirectionToVector[ejectSlotWsDirection];
|
|
const ejectSlotTargetWsTile = ejectSlotWsTile.add(ejectSlotWsDirectionVector);
|
|
|
|
// Try to find the given acceptor component to take the item
|
|
const targetEntity = this.root.map.getLayerContentXY(
|
|
ejectSlotTargetWsTile.x,
|
|
ejectSlotTargetWsTile.y,
|
|
"regular"
|
|
);
|
|
|
|
if (targetEntity) {
|
|
DEBUG && !debug_Silent && logger.log(" Found target entity", targetEntity.uid);
|
|
const targetStaticComp = targetEntity.components.StaticMapEntity;
|
|
const targetBeltComp = targetEntity.components.Belt;
|
|
|
|
// Check for belts (special case)
|
|
if (targetBeltComp) {
|
|
const beltAcceptingDirection = targetStaticComp.localDirectionToWorld(enumDirection.top);
|
|
DEBUG &&
|
|
!debug_Silent &&
|
|
logger.log(
|
|
" Entity is accepting items from",
|
|
ejectSlotWsDirection,
|
|
"vs",
|
|
beltAcceptingDirection,
|
|
"Rotation:",
|
|
targetStaticComp.rotation
|
|
);
|
|
if (ejectSlotWsDirection === beltAcceptingDirection) {
|
|
return {
|
|
entity: targetEntity,
|
|
direction: null,
|
|
slot: 0,
|
|
};
|
|
}
|
|
}
|
|
|
|
// Check for item acceptors
|
|
const targetAcceptorComp = targetEntity.components.ItemAcceptor;
|
|
if (!targetAcceptorComp) {
|
|
// Entity doesn't accept items
|
|
return;
|
|
}
|
|
|
|
const ejectingDirection = targetStaticComp.worldDirectionToLocal(ejectSlotWsDirection);
|
|
const matchingSlot = targetAcceptorComp.findMatchingSlot(
|
|
targetStaticComp.worldToLocalTile(ejectSlotTargetWsTile),
|
|
ejectingDirection
|
|
);
|
|
|
|
if (!matchingSlot) {
|
|
// No matching slot found
|
|
return;
|
|
}
|
|
|
|
return {
|
|
entity: targetEntity,
|
|
slot: matchingSlot.index,
|
|
direction: enumInvertedDirections[ejectingDirection],
|
|
};
|
|
}
|
|
}
|
|
|
|
// Following code will be compiled out outside of dev versions
|
|
/* dev:start */
|
|
|
|
/**
|
|
* Helper to throw an error on mismatch
|
|
* @param {string} change
|
|
* @param {Array<any>} reason
|
|
*/
|
|
debug_failIntegrity(change, ...reason) {
|
|
throw new Error("belt path invalid (" + change + "): " + reason.map(i => "" + i).join(" "));
|
|
}
|
|
|
|
/**
|
|
* Checks if this path is valid
|
|
*/
|
|
debug_checkIntegrity(currentChange = "change") {
|
|
const fail = (...args) => this.debug_failIntegrity(currentChange, ...args);
|
|
|
|
// Check for empty path
|
|
if (this.entityPath.length === 0) {
|
|
return fail("Belt path is empty");
|
|
}
|
|
|
|
// Check for mismatching length
|
|
const totalLength = this.computeTotalLength();
|
|
if (!epsilonCompare(this.totalLength, totalLength, 0.01)) {
|
|
return this.debug_failIntegrity(
|
|
currentChange,
|
|
"Total length mismatch, stored =",
|
|
this.totalLength,
|
|
"but correct is",
|
|
totalLength
|
|
);
|
|
}
|
|
|
|
// Check for misconnected entities
|
|
for (let i = 0; i < this.entityPath.length - 1; ++i) {
|
|
const entity = this.entityPath[i];
|
|
if (entity.destroyed) {
|
|
return fail("Reference to destroyed entity " + entity.uid);
|
|
}
|
|
|
|
const followUp = this.root.systemMgr.systems.belt.findFollowUpEntity(entity);
|
|
if (!followUp) {
|
|
return fail(
|
|
"Follow up entity for the",
|
|
i,
|
|
"-th entity (total length",
|
|
this.entityPath.length,
|
|
") was null!"
|
|
);
|
|
}
|
|
if (followUp !== this.entityPath[i + 1]) {
|
|
return fail(
|
|
"Follow up entity mismatch, stored is",
|
|
this.entityPath[i + 1].uid,
|
|
"but real one is",
|
|
followUp.uid
|
|
);
|
|
}
|
|
if (entity.components.Belt.assignedPath !== this) {
|
|
return fail(
|
|
"Entity with uid",
|
|
entity.uid,
|
|
"doesn't have this path assigned, but this path contains the entity."
|
|
);
|
|
}
|
|
}
|
|
|
|
// Check spacing
|
|
if (this.spacingToFirstItem > this.totalLength + 0.005) {
|
|
return fail(
|
|
currentChange,
|
|
"spacing to first item (",
|
|
this.spacingToFirstItem,
|
|
") is greater than total length (",
|
|
this.totalLength,
|
|
")"
|
|
);
|
|
}
|
|
|
|
// Check distance if empty
|
|
if (this.items.length === 0 && !epsilonCompare(this.spacingToFirstItem, this.totalLength, 0.01)) {
|
|
return fail(
|
|
currentChange,
|
|
"Path is empty but spacing to first item (",
|
|
this.spacingToFirstItem,
|
|
") does not equal total length (",
|
|
this.totalLength,
|
|
")"
|
|
);
|
|
}
|
|
|
|
// Check items etc
|
|
let currentPos = this.spacingToFirstItem;
|
|
for (let i = 0; i < this.items.length; ++i) {
|
|
const item = this.items[i];
|
|
|
|
if (item[_nextDistance] < 0 || item[_nextDistance] > this.totalLength + 0.02) {
|
|
return fail(
|
|
"Item has invalid offset to next item: ",
|
|
item[_nextDistance],
|
|
"(total length:",
|
|
this.totalLength,
|
|
")"
|
|
);
|
|
}
|
|
|
|
currentPos += item[_nextDistance];
|
|
}
|
|
|
|
// Check the total sum matches
|
|
if (!epsilonCompare(currentPos, this.totalLength, 0.01)) {
|
|
return fail(
|
|
"total sum (",
|
|
currentPos,
|
|
") of first item spacing (",
|
|
this.spacingToFirstItem,
|
|
") and items does not match total length (",
|
|
this.totalLength,
|
|
") -> items: " + this.items.map(i => i[_nextDistance]).join("|")
|
|
);
|
|
}
|
|
|
|
// Check bounds
|
|
const actualBounds = this.computeBounds();
|
|
if (!actualBounds.equalsEpsilon(this.worldBounds, 0.01)) {
|
|
return fail("Bounds are stale");
|
|
}
|
|
|
|
// Check acceptor
|
|
const acceptor = this.computeAcceptingEntityAndSlot(true);
|
|
if (!!acceptor !== !!this.acceptorTarget) {
|
|
return fail("Acceptor target mismatch, acceptor", !!acceptor, "vs stored", !!this.acceptorTarget);
|
|
}
|
|
|
|
if (acceptor) {
|
|
if (this.acceptorTarget.entity !== acceptor.entity) {
|
|
return fail(
|
|
"Mismatching entity on acceptor target:",
|
|
acceptor.entity.uid,
|
|
"vs",
|
|
this.acceptorTarget.entity.uid
|
|
);
|
|
}
|
|
|
|
if (this.acceptorTarget.slot !== acceptor.slot) {
|
|
return fail(
|
|
"Mismatching entity on acceptor target:",
|
|
acceptor.slot,
|
|
"vs stored",
|
|
this.acceptorTarget.slot
|
|
);
|
|
}
|
|
|
|
if (this.acceptorTarget.direction !== acceptor.direction) {
|
|
return fail(
|
|
"Mismatching direction on acceptor target:",
|
|
acceptor.direction,
|
|
"vs stored",
|
|
this.acceptorTarget.direction
|
|
);
|
|
}
|
|
}
|
|
|
|
// Check first nonzero offset
|
|
let firstNonzero = 0;
|
|
for (let i = this.items.length - 2; i >= 0; --i) {
|
|
if (this.items[i][_nextDistance] < globalConfig.itemSpacingOnBelts + 1e-5) {
|
|
++firstNonzero;
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
|
|
// Should warn, but this check isn't actually accurate
|
|
// if (firstNonzero !== this.numCompressedItemsAfterFirstItem) {
|
|
// console.warn(
|
|
// "First nonzero index is " +
|
|
// firstNonzero +
|
|
// " but stored is " +
|
|
// this.numCompressedItemsAfterFirstItem
|
|
// );
|
|
// }
|
|
}
|
|
|
|
/* dev:end */
|
|
|
|
/**
|
|
* Extends the belt path by the given belt
|
|
* @param {Entity} entity
|
|
*/
|
|
extendOnEnd(entity) {
|
|
DEBUG && logger.log("Extending belt path by entity at", entity.components.StaticMapEntity.origin);
|
|
|
|
const beltComp = entity.components.Belt;
|
|
|
|
// Append the entity
|
|
this.entityPath.push(entity);
|
|
this.onPathChanged();
|
|
|
|
// Extend the path length
|
|
const additionalLength = beltComp.getEffectiveLengthTiles();
|
|
this.totalLength += additionalLength;
|
|
DEBUG && logger.log(" Extended total length by", additionalLength, "to", this.totalLength);
|
|
|
|
// If we have no item, just update the distance to the first item
|
|
if (this.items.length === 0) {
|
|
this.spacingToFirstItem = this.totalLength;
|
|
DEBUG && logger.log(" Extended spacing to first to", this.totalLength, "(= total length)");
|
|
} else {
|
|
// Otherwise, update the next-distance of the last item
|
|
const lastItem = this.items[this.items.length - 1];
|
|
DEBUG &&
|
|
logger.log(
|
|
" Extended spacing of last item from",
|
|
lastItem[_nextDistance],
|
|
"to",
|
|
lastItem[_nextDistance] + additionalLength
|
|
);
|
|
lastItem[_nextDistance] += additionalLength;
|
|
}
|
|
|
|
// Assign reference
|
|
beltComp.assignedPath = this;
|
|
|
|
// Update bounds
|
|
this.worldBounds = this.computeBounds();
|
|
|
|
if (G_IS_DEV && globalConfig.debug.checkBeltPaths) {
|
|
this.debug_checkIntegrity("extend-on-end");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Extends the path with the given entity on the beginning
|
|
* @param {Entity} entity
|
|
*/
|
|
extendOnBeginning(entity) {
|
|
const beltComp = entity.components.Belt;
|
|
|
|
DEBUG && logger.log("Extending the path on the beginning");
|
|
|
|
// All items on that belt are simply lost (for now)
|
|
|
|
const length = beltComp.getEffectiveLengthTiles();
|
|
|
|
// Extend the length of this path
|
|
this.totalLength += length;
|
|
|
|
// Simply adjust the first item spacing cuz we have no items contained
|
|
this.spacingToFirstItem += length;
|
|
|
|
// Set handles and append entity
|
|
beltComp.assignedPath = this;
|
|
this.entityPath.unshift(entity);
|
|
this.onPathChanged();
|
|
|
|
// Update bounds
|
|
this.worldBounds = this.computeBounds();
|
|
|
|
if (G_IS_DEV && globalConfig.debug.checkBeltPaths) {
|
|
this.debug_checkIntegrity("extend-on-begin");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Returns if the given entity is the end entity of the path
|
|
* @param {Entity} entity
|
|
* @returns {boolean}
|
|
*/
|
|
isEndEntity(entity) {
|
|
return this.entityPath[this.entityPath.length - 1] === entity;
|
|
}
|
|
|
|
/**
|
|
* Returns if the given entity is the start entity of the path
|
|
* @param {Entity} entity
|
|
* @returns {boolean}
|
|
*/
|
|
isStartEntity(entity) {
|
|
return this.entityPath[0] === entity;
|
|
}
|
|
|
|
/**
|
|
* Splits this path at the given entity by removing it, and
|
|
* returning the new secondary paht
|
|
* @param {Entity} entity
|
|
* @returns {BeltPath}
|
|
*/
|
|
deleteEntityOnPathSplitIntoTwo(entity) {
|
|
DEBUG && logger.log("Splitting path at entity", entity.components.StaticMapEntity.origin);
|
|
|
|
// First, find where the current path ends
|
|
const beltComp = entity.components.Belt;
|
|
beltComp.assignedPath = null;
|
|
|
|
const entityLength = beltComp.getEffectiveLengthTiles();
|
|
assert(this.entityPath.indexOf(entity) >= 0, "Entity not contained for split");
|
|
assert(this.entityPath.indexOf(entity) !== 0, "Entity is first");
|
|
assert(this.entityPath.indexOf(entity) !== this.entityPath.length - 1, "Entity is last");
|
|
|
|
let firstPathEntityCount = 0;
|
|
let firstPathLength = 0;
|
|
let firstPathEndEntity = null;
|
|
|
|
for (let i = 0; i < this.entityPath.length; ++i) {
|
|
const otherEntity = this.entityPath[i];
|
|
if (otherEntity === entity) {
|
|
DEBUG && logger.log("Found entity at", i, "of length", firstPathLength);
|
|
break;
|
|
}
|
|
|
|
++firstPathEntityCount;
|
|
firstPathEndEntity = otherEntity;
|
|
firstPathLength += otherEntity.components.Belt.getEffectiveLengthTiles();
|
|
}
|
|
|
|
DEBUG &&
|
|
logger.log(
|
|
"First path ends at",
|
|
firstPathLength,
|
|
"and entity",
|
|
firstPathEndEntity.components.StaticMapEntity.origin,
|
|
"and has",
|
|
firstPathEntityCount,
|
|
"entities"
|
|
);
|
|
|
|
// Compute length of second path
|
|
const secondPathLength = this.totalLength - firstPathLength - entityLength;
|
|
const secondPathStart = firstPathLength + entityLength;
|
|
const secondEntities = this.entityPath.splice(firstPathEntityCount + 1);
|
|
DEBUG &&
|
|
logger.log(
|
|
"Second path starts at",
|
|
secondPathStart,
|
|
"and has a length of ",
|
|
secondPathLength,
|
|
"with",
|
|
secondEntities.length,
|
|
"entities"
|
|
);
|
|
|
|
// Remove the last item
|
|
this.entityPath.pop();
|
|
|
|
DEBUG && logger.log("Splitting", this.items.length, "items");
|
|
DEBUG &&
|
|
logger.log(
|
|
"Old items are",
|
|
this.items.map(i => i[_nextDistance])
|
|
);
|
|
|
|
// Create second path
|
|
const secondPath = new BeltPath(this.root, secondEntities);
|
|
|
|
// Remove all items which are no longer relevant and transfer them to the second path
|
|
let itemPos = this.spacingToFirstItem;
|
|
for (let i = 0; i < this.items.length; ++i) {
|
|
const item = this.items[i];
|
|
const distanceToNext = item[_nextDistance];
|
|
|
|
DEBUG && logger.log(" Checking item at", itemPos, "with distance of", distanceToNext, "to next");
|
|
|
|
// Check if this item is past the first path
|
|
if (itemPos >= firstPathLength) {
|
|
// Remove it from the first path
|
|
this.items.splice(i, 1);
|
|
i -= 1;
|
|
DEBUG &&
|
|
logger.log(" Removed item from first path since its no longer contained @", itemPos);
|
|
|
|
// Check if its on the second path (otherwise its on the removed belt and simply lost)
|
|
if (itemPos >= secondPathStart) {
|
|
// Put item on second path
|
|
secondPath.items.push([distanceToNext, item[_item]]);
|
|
DEBUG &&
|
|
logger.log(
|
|
" Put item to second path @",
|
|
itemPos,
|
|
"with distance to next =",
|
|
distanceToNext
|
|
);
|
|
|
|
// If it was the first item, adjust the distance to the first item
|
|
if (secondPath.items.length === 1) {
|
|
DEBUG && logger.log(" Sinc it was the first, set sapcing of first to", itemPos);
|
|
secondPath.spacingToFirstItem = itemPos - secondPathStart;
|
|
}
|
|
} else {
|
|
DEBUG && logger.log(" Item was on the removed belt, so its gone - forever!");
|
|
}
|
|
} else {
|
|
// Seems this item is on the first path (so all good), so just make sure it doesn't
|
|
// have a nextDistance which is bigger than the total path length
|
|
const clampedDistanceToNext = Math.min(itemPos + distanceToNext, firstPathLength) - itemPos;
|
|
if (clampedDistanceToNext < distanceToNext) {
|
|
DEBUG &&
|
|
logger.log(
|
|
"Correcting next distance (first path) from",
|
|
distanceToNext,
|
|
"to",
|
|
clampedDistanceToNext
|
|
);
|
|
item[_nextDistance] = clampedDistanceToNext;
|
|
}
|
|
}
|
|
|
|
// Advance items
|
|
itemPos += distanceToNext;
|
|
}
|
|
|
|
DEBUG &&
|
|
logger.log(
|
|
"New items are",
|
|
this.items.map(i => i[_nextDistance])
|
|
);
|
|
|
|
DEBUG &&
|
|
logger.log(
|
|
"And second path items are",
|
|
secondPath.items.map(i => i[_nextDistance])
|
|
);
|
|
|
|
// Adjust our total length
|
|
this.totalLength = firstPathLength;
|
|
|
|
// Make sure that if we are empty, we set our first distance properly
|
|
if (this.items.length === 0) {
|
|
this.spacingToFirstItem = this.totalLength;
|
|
}
|
|
|
|
this.onPathChanged();
|
|
secondPath.onPathChanged();
|
|
|
|
// Update bounds
|
|
this.worldBounds = this.computeBounds();
|
|
|
|
if (G_IS_DEV && globalConfig.debug.checkBeltPaths) {
|
|
this.debug_checkIntegrity("split-two-first");
|
|
secondPath.debug_checkIntegrity("split-two-second");
|
|
}
|
|
|
|
return secondPath;
|
|
}
|
|
|
|
/**
|
|
* Deletes the last entity
|
|
* @param {Entity} entity
|
|
*/
|
|
deleteEntityOnEnd(entity) {
|
|
assert(
|
|
this.entityPath[this.entityPath.length - 1] === entity,
|
|
"Not actually the last entity (instead " + this.entityPath.indexOf(entity) + ")"
|
|
);
|
|
|
|
// Ok, first remove the entity
|
|
const beltComp = entity.components.Belt;
|
|
const beltLength = beltComp.getEffectiveLengthTiles();
|
|
|
|
DEBUG &&
|
|
logger.log(
|
|
"Deleting last entity on path with length",
|
|
this.entityPath.length,
|
|
"(reducing",
|
|
this.totalLength,
|
|
" by",
|
|
beltLength,
|
|
")"
|
|
);
|
|
this.totalLength -= beltLength;
|
|
this.entityPath.pop();
|
|
this.onPathChanged();
|
|
|
|
DEBUG &&
|
|
logger.log(
|
|
" New path has length of",
|
|
this.totalLength,
|
|
"with",
|
|
this.entityPath.length,
|
|
"entities"
|
|
);
|
|
|
|
// This is just for sanity
|
|
beltComp.assignedPath = null;
|
|
|
|
// Clean up items
|
|
if (this.items.length === 0) {
|
|
// Simple case with no items, just update the first item spacing
|
|
this.spacingToFirstItem = this.totalLength;
|
|
} else {
|
|
// Ok, make sure we simply drop all items which are no longer contained
|
|
let itemOffset = this.spacingToFirstItem;
|
|
let lastItemOffset = itemOffset;
|
|
|
|
DEBUG && logger.log(" Adjusting", this.items.length, "items");
|
|
|
|
for (let i = 0; i < this.items.length; ++i) {
|
|
const item = this.items[i];
|
|
|
|
// Get rid of items past this path
|
|
if (itemOffset >= this.totalLength) {
|
|
DEBUG && logger.log("Dropping item (current index=", i, ")");
|
|
this.items.splice(i, 1);
|
|
i -= 1;
|
|
continue;
|
|
}
|
|
|
|
DEBUG && logger.log("Item", i, "is at", itemOffset, "with next offset", item[_nextDistance]);
|
|
lastItemOffset = itemOffset;
|
|
itemOffset += item[_nextDistance];
|
|
}
|
|
|
|
// If we still have an item, make sure the last item matches
|
|
if (this.items.length > 0) {
|
|
// We can easily compute the next distance since we know where the last item is now
|
|
const lastDistance = this.totalLength - lastItemOffset;
|
|
assert(
|
|
lastDistance >= 0.0,
|
|
"Last item distance mismatch: " +
|
|
lastDistance +
|
|
" -> Total length was " +
|
|
this.totalLength +
|
|
" and lastItemOffset was " +
|
|
lastItemOffset
|
|
);
|
|
|
|
DEBUG &&
|
|
logger.log(
|
|
"Adjusted distance of last item: it is at",
|
|
lastItemOffset,
|
|
"so it has a distance of",
|
|
lastDistance,
|
|
"to the end (",
|
|
this.totalLength,
|
|
")"
|
|
);
|
|
this.items[this.items.length - 1][_nextDistance] = lastDistance;
|
|
} else {
|
|
DEBUG && logger.log(" Removed all items so we'll update spacing to total length");
|
|
|
|
// We removed all items so update our spacing
|
|
this.spacingToFirstItem = this.totalLength;
|
|
}
|
|
}
|
|
|
|
// Update bounds
|
|
this.worldBounds = this.computeBounds();
|
|
|
|
if (G_IS_DEV && globalConfig.debug.checkBeltPaths) {
|
|
this.debug_checkIntegrity("delete-on-end");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Deletes the entity of the start of the path
|
|
* @see deleteEntityOnEnd
|
|
* @param {Entity} entity
|
|
*/
|
|
deleteEntityOnStart(entity) {
|
|
assert(
|
|
entity === this.entityPath[0],
|
|
"Not actually the start entity (instead " + this.entityPath.indexOf(entity) + ")"
|
|
);
|
|
|
|
// Ok, first remove the entity
|
|
const beltComp = entity.components.Belt;
|
|
const beltLength = beltComp.getEffectiveLengthTiles();
|
|
|
|
DEBUG &&
|
|
logger.log(
|
|
"Deleting first entity on path with length",
|
|
this.entityPath.length,
|
|
"(reducing",
|
|
this.totalLength,
|
|
" by",
|
|
beltLength,
|
|
")"
|
|
);
|
|
this.totalLength -= beltLength;
|
|
this.entityPath.shift();
|
|
this.onPathChanged();
|
|
|
|
DEBUG &&
|
|
logger.log(
|
|
" New path has length of",
|
|
this.totalLength,
|
|
"with",
|
|
this.entityPath.length,
|
|
"entities"
|
|
);
|
|
|
|
// This is just for sanity
|
|
beltComp.assignedPath = null;
|
|
|
|
// Clean up items
|
|
if (this.items.length === 0) {
|
|
// Simple case with no items, just update the first item spacing
|
|
this.spacingToFirstItem = this.totalLength;
|
|
} else {
|
|
// Simple case, we had no item on the beginning -> all good
|
|
if (this.spacingToFirstItem >= beltLength) {
|
|
DEBUG &&
|
|
logger.log(
|
|
" No item on the first place, so we can just adjust the spacing (spacing=",
|
|
this.spacingToFirstItem,
|
|
") removed =",
|
|
beltLength
|
|
);
|
|
this.spacingToFirstItem -= beltLength;
|
|
} else {
|
|
// Welp, okay we need to drop all items which are < beltLength and adjust
|
|
// the other item offsets as well
|
|
|
|
DEBUG &&
|
|
logger.log(
|
|
" We have at least one item in the beginning, drop those and adjust spacing (first item @",
|
|
this.spacingToFirstItem,
|
|
") since we removed",
|
|
beltLength,
|
|
"length from path"
|
|
);
|
|
DEBUG &&
|
|
logger.log(
|
|
" Items:",
|
|
this.items.map(i => i[_nextDistance])
|
|
);
|
|
|
|
// Find offset to first item
|
|
let itemOffset = this.spacingToFirstItem;
|
|
for (let i = 0; i < this.items.length; ++i) {
|
|
const item = this.items[i];
|
|
if (itemOffset <= beltLength) {
|
|
DEBUG &&
|
|
logger.log(
|
|
" -> Dropping item with index",
|
|
i,
|
|
"at",
|
|
itemOffset,
|
|
"since it was on the removed belt"
|
|
);
|
|
// This item must be dropped
|
|
this.items.splice(i, 1);
|
|
i -= 1;
|
|
itemOffset += item[_nextDistance];
|
|
continue;
|
|
} else {
|
|
// This item can be kept, thus its the first we know
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (this.items.length > 0) {
|
|
DEBUG &&
|
|
logger.log(
|
|
" Offset of first non-dropped item was at:",
|
|
itemOffset,
|
|
"-> setting spacing to it (total length=",
|
|
this.totalLength,
|
|
")"
|
|
);
|
|
|
|
this.spacingToFirstItem = itemOffset - beltLength;
|
|
assert(
|
|
this.spacingToFirstItem >= 0.0,
|
|
"Invalid spacing after delete on start: " + this.spacingToFirstItem
|
|
);
|
|
} else {
|
|
DEBUG && logger.log(" We dropped all items, simply set spacing to total length");
|
|
// We dropped all items, simple one
|
|
this.spacingToFirstItem = this.totalLength;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Update bounds
|
|
this.worldBounds = this.computeBounds();
|
|
|
|
if (G_IS_DEV && globalConfig.debug.checkBeltPaths) {
|
|
this.debug_checkIntegrity("delete-on-start");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Extends the path by the given other path
|
|
* @param {BeltPath} otherPath
|
|
*/
|
|
extendByPath(otherPath) {
|
|
assert(otherPath !== this, "Circular path dependency");
|
|
|
|
const entities = otherPath.entityPath;
|
|
DEBUG && logger.log("Extending path by other path, starting to add entities");
|
|
|
|
const oldLength = this.totalLength;
|
|
|
|
DEBUG && logger.log(" Adding", entities.length, "new entities, current length =", this.totalLength);
|
|
|
|
// First, append entities
|
|
for (let i = 0; i < entities.length; ++i) {
|
|
const entity = entities[i];
|
|
const beltComp = entity.components.Belt;
|
|
|
|
// Add to path and update references
|
|
this.entityPath.push(entity);
|
|
beltComp.assignedPath = this;
|
|
|
|
// Update our length
|
|
const additionalLength = beltComp.getEffectiveLengthTiles();
|
|
this.totalLength += additionalLength;
|
|
}
|
|
|
|
DEBUG &&
|
|
logger.log(
|
|
" Path is now",
|
|
this.entityPath.length,
|
|
"entities and has a length of",
|
|
this.totalLength
|
|
);
|
|
|
|
// Now, update the distance of our last item
|
|
if (this.items.length !== 0) {
|
|
const lastItem = this.items[this.items.length - 1];
|
|
lastItem[_nextDistance] += otherPath.spacingToFirstItem;
|
|
DEBUG &&
|
|
logger.log(" Add distance to last item, effectively being", lastItem[_nextDistance], "now");
|
|
} else {
|
|
// Seems we have no items, update our first item distance
|
|
this.spacingToFirstItem = oldLength + otherPath.spacingToFirstItem;
|
|
DEBUG &&
|
|
logger.log(
|
|
" We had no items, so our new spacing to first is old length (",
|
|
oldLength,
|
|
") plus others spacing to first (",
|
|
otherPath.spacingToFirstItem,
|
|
") =",
|
|
this.spacingToFirstItem
|
|
);
|
|
}
|
|
|
|
DEBUG && logger.log(" Pushing", otherPath.items.length, "items from other path");
|
|
|
|
// Aaand push the other paths items
|
|
for (let i = 0; i < otherPath.items.length; ++i) {
|
|
const item = otherPath.items[i];
|
|
this.items.push([item[_nextDistance], item[_item]]);
|
|
}
|
|
|
|
// Update bounds
|
|
this.worldBounds = this.computeBounds();
|
|
|
|
this.onPathChanged();
|
|
|
|
if (G_IS_DEV && globalConfig.debug.checkBeltPaths) {
|
|
this.debug_checkIntegrity("extend-by-path");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Computes the total length of the path
|
|
* @returns {number}
|
|
*/
|
|
computeTotalLength() {
|
|
let length = 0;
|
|
for (let i = 0; i < this.entityPath.length; ++i) {
|
|
const entity = this.entityPath[i];
|
|
length += entity.components.Belt.getEffectiveLengthTiles();
|
|
}
|
|
return length;
|
|
}
|
|
|
|
/**
|
|
* Performs one tick
|
|
*/
|
|
update() {
|
|
if (G_IS_DEV && globalConfig.debug.checkBeltPaths) {
|
|
this.debug_checkIntegrity("pre-update");
|
|
}
|
|
|
|
// Divide by item spacing on belts since we use throughput and not speed
|
|
let beltSpeed =
|
|
this.root.hubGoals.getBeltBaseSpeed() *
|
|
this.root.dynamicTickrate.deltaSeconds *
|
|
globalConfig.itemSpacingOnBelts;
|
|
|
|
if (G_IS_DEV && globalConfig.debug.instantBelts) {
|
|
beltSpeed *= 100;
|
|
}
|
|
|
|
// Store whether this is the first item we processed, so premature
|
|
// item ejection is available
|
|
let isFirstItemProcessed = true;
|
|
|
|
// Store how much velocity (strictly its distance, not velocity) we have to distribute over all items
|
|
let remainingVelocity = beltSpeed;
|
|
|
|
// Store the last item we processed, so we can skip clashed ones
|
|
let lastItemProcessed;
|
|
|
|
for (lastItemProcessed = this.items.length - 1; lastItemProcessed >= 0; --lastItemProcessed) {
|
|
const nextDistanceAndItem = this.items[lastItemProcessed];
|
|
|
|
// Compute how much spacing we need at least
|
|
const minimumSpacing =
|
|
lastItemProcessed === this.items.length - 1 ? 0 : globalConfig.itemSpacingOnBelts;
|
|
|
|
// Compute how much we can advance
|
|
const clampedProgress = Math.max(
|
|
0,
|
|
Math.min(remainingVelocity, nextDistanceAndItem[_nextDistance] - minimumSpacing)
|
|
);
|
|
|
|
// Reduce our velocity by the amount we consumed
|
|
remainingVelocity -= clampedProgress;
|
|
|
|
// Reduce the spacing
|
|
nextDistanceAndItem[_nextDistance] -= clampedProgress;
|
|
|
|
// Advance all items behind by the progress we made
|
|
this.spacingToFirstItem += clampedProgress;
|
|
|
|
// If the last item can be ejected, eject it and reduce the spacing, because otherwise
|
|
// we lose velocity
|
|
if (isFirstItemProcessed && nextDistanceAndItem[_nextDistance] < 1e-7) {
|
|
// Store how much velocity we "lost" because we bumped the item to the end of the
|
|
// belt but couldn't move it any farther. We need this to tell the item acceptor
|
|
// animation to start a tad later, so everything matches up. Yes I'm a perfectionist.
|
|
const excessVelocity = beltSpeed - clampedProgress;
|
|
|
|
// Try to directly get rid of the item
|
|
if (this.tryHandOverItem(nextDistanceAndItem[_item], excessVelocity)) {
|
|
this.items.pop();
|
|
|
|
const itemBehind = this.items[lastItemProcessed - 1];
|
|
if (itemBehind && this.numCompressedItemsAfterFirstItem > 0) {
|
|
// So, with the next tick we will skip this item, but it actually has the potential
|
|
// to process farther -> If we don't advance here, we loose a tiny bit of progress
|
|
// every tick which causes the belt to be slower than it actually is.
|
|
// Also see #999
|
|
const fixupProgress = Math.max(
|
|
0,
|
|
Math.min(remainingVelocity, itemBehind[_nextDistance])
|
|
);
|
|
|
|
// See above
|
|
itemBehind[_nextDistance] -= fixupProgress;
|
|
remainingVelocity -= fixupProgress;
|
|
this.spacingToFirstItem += fixupProgress;
|
|
}
|
|
|
|
// Reduce the number of compressed items since the first item no longer exists
|
|
this.numCompressedItemsAfterFirstItem = Math.max(
|
|
0,
|
|
this.numCompressedItemsAfterFirstItem - 1
|
|
);
|
|
}
|
|
}
|
|
|
|
if (isFirstItemProcessed) {
|
|
// Skip N null items after first items
|
|
lastItemProcessed -= this.numCompressedItemsAfterFirstItem;
|
|
}
|
|
|
|
isFirstItemProcessed = false;
|
|
if (remainingVelocity < 1e-7) {
|
|
break;
|
|
}
|
|
}
|
|
|
|
// Compute compressed item count
|
|
this.numCompressedItemsAfterFirstItem = Math.max(
|
|
0,
|
|
this.numCompressedItemsAfterFirstItem,
|
|
this.items.length - 2 - lastItemProcessed
|
|
);
|
|
|
|
// Check if we have an item which is ready to be emitted
|
|
const lastItem = this.items[this.items.length - 1];
|
|
if (lastItem && lastItem[_nextDistance] === 0 && this.acceptorTarget) {
|
|
if (this.tryHandOverItem(lastItem[_item])) {
|
|
this.items.pop();
|
|
this.numCompressedItemsAfterFirstItem = Math.max(
|
|
0,
|
|
this.numCompressedItemsAfterFirstItem - 1
|
|
);
|
|
}
|
|
}
|
|
|
|
if (G_IS_DEV && globalConfig.debug.checkBeltPaths) {
|
|
this.debug_checkIntegrity("post-update");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Tries to hand over the item to the end entity
|
|
* @param {BaseItem} item
|
|
*/
|
|
tryHandOverItem(item, remainingProgress = 0.0) {
|
|
if (!this.acceptorTarget) {
|
|
return;
|
|
}
|
|
|
|
const targetAcceptorComp = this.acceptorTarget.entity.components.ItemAcceptor;
|
|
|
|
// Check if the acceptor has a filter for example
|
|
if (targetAcceptorComp && !targetAcceptorComp.canAcceptItem(this.acceptorTarget.slot, item)) {
|
|
// Well, this item is not accepted
|
|
return false;
|
|
}
|
|
|
|
// Try to pass over
|
|
if (
|
|
this.root.systemMgr.systems.itemEjector.tryPassOverItem(
|
|
item,
|
|
this.acceptorTarget.entity,
|
|
this.acceptorTarget.slot
|
|
)
|
|
) {
|
|
// Trigger animation on the acceptor comp
|
|
const targetAcceptorComp = this.acceptorTarget.entity.components.ItemAcceptor;
|
|
if (targetAcceptorComp) {
|
|
if (!this.root.app.settings.getAllSettings().simplifiedBelts) {
|
|
targetAcceptorComp.onItemAccepted(
|
|
this.acceptorTarget.slot,
|
|
this.acceptorTarget.direction,
|
|
item,
|
|
remainingProgress
|
|
);
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Computes a world space position from the given progress
|
|
* @param {number} progress
|
|
* @returns {Vector}
|
|
*/
|
|
computePositionFromProgress(progress) {
|
|
let currentLength = 0;
|
|
|
|
// floating point issues ..
|
|
assert(progress <= this.totalLength + 0.02, "Progress too big: " + progress);
|
|
|
|
for (let i = 0; i < this.entityPath.length; ++i) {
|
|
const beltComp = this.entityPath[i].components.Belt;
|
|
const localLength = beltComp.getEffectiveLengthTiles();
|
|
|
|
if (currentLength + localLength >= progress || i === this.entityPath.length - 1) {
|
|
// Min required here due to floating point issues
|
|
const localProgress = Math.min(1.0, progress - currentLength);
|
|
|
|
assert(localProgress >= 0.0, "Invalid local progress: " + localProgress);
|
|
const localSpace = beltComp.transformBeltToLocalSpace(localProgress);
|
|
return this.entityPath[i].components.StaticMapEntity.localTileToWorld(localSpace);
|
|
}
|
|
currentLength += localLength;
|
|
}
|
|
|
|
assert(false, "invalid progress: " + progress + " (max: " + this.totalLength + ")");
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @param {DrawParameters} parameters
|
|
*/
|
|
drawDebug(parameters) {
|
|
if (!parameters.visibleRect.containsRect(this.worldBounds)) {
|
|
return;
|
|
}
|
|
|
|
parameters.context.fillStyle = "#d79a25";
|
|
parameters.context.strokeStyle = "#d79a25";
|
|
parameters.context.beginPath();
|
|
|
|
for (let i = 0; i < this.entityPath.length; ++i) {
|
|
const entity = this.entityPath[i];
|
|
const pos = entity.components.StaticMapEntity;
|
|
const worldPos = pos.origin.toWorldSpaceCenterOfTile();
|
|
|
|
if (i === 0) {
|
|
parameters.context.moveTo(worldPos.x, worldPos.y);
|
|
} else {
|
|
parameters.context.lineTo(worldPos.x, worldPos.y);
|
|
}
|
|
}
|
|
parameters.context.stroke();
|
|
|
|
// Items
|
|
let progress = this.spacingToFirstItem;
|
|
for (let i = 0; i < this.items.length; ++i) {
|
|
const nextDistanceAndItem = this.items[i];
|
|
const worldPos = this.computePositionFromProgress(progress).toWorldSpaceCenterOfTile();
|
|
parameters.context.fillStyle = "#268e4d";
|
|
parameters.context.beginRoundedRect(worldPos.x - 5, worldPos.y - 5, 10, 10, 3);
|
|
parameters.context.fill();
|
|
parameters.context.font = "6px GameFont";
|
|
parameters.context.fillStyle = "#111";
|
|
parameters.context.fillText(
|
|
"" + round4Digits(nextDistanceAndItem[_nextDistance]),
|
|
worldPos.x + 5,
|
|
worldPos.y + 2
|
|
);
|
|
progress += nextDistanceAndItem[_nextDistance];
|
|
|
|
if (this.items.length - 1 - this.numCompressedItemsAfterFirstItem === i) {
|
|
parameters.context.fillStyle = "red";
|
|
parameters.context.fillRect(worldPos.x + 5, worldPos.y, 20, 3);
|
|
}
|
|
}
|
|
|
|
for (let i = 0; i < this.entityPath.length; ++i) {
|
|
const entity = this.entityPath[i];
|
|
parameters.context.fillStyle = "#d79a25";
|
|
const pos = entity.components.StaticMapEntity;
|
|
const worldPos = pos.origin.toWorldSpaceCenterOfTile();
|
|
parameters.context.beginCircle(worldPos.x, worldPos.y, i === 0 ? 5 : 3);
|
|
parameters.context.fill();
|
|
}
|
|
|
|
for (let progress = 0; progress <= this.totalLength + 0.01; progress += 0.2) {
|
|
const worldPos = this.computePositionFromProgress(progress).toWorldSpaceCenterOfTile();
|
|
parameters.context.fillStyle = "red";
|
|
parameters.context.beginCircle(worldPos.x, worldPos.y, 1);
|
|
parameters.context.fill();
|
|
}
|
|
|
|
const firstItemIndicator = this.computePositionFromProgress(
|
|
this.spacingToFirstItem
|
|
).toWorldSpaceCenterOfTile();
|
|
parameters.context.fillStyle = "purple";
|
|
parameters.context.fillRect(firstItemIndicator.x - 3, firstItemIndicator.y - 1, 6, 2);
|
|
}
|
|
|
|
/**
|
|
* Checks if this belt path should render simplified
|
|
*/
|
|
checkIsPotatoMode() {
|
|
// POTATO Mode: Only show items when belt is hovered
|
|
if (!this.root.app.settings.getAllSettings().simplifiedBelts) {
|
|
return false;
|
|
}
|
|
|
|
if (this.root.currentLayer !== "regular") {
|
|
// Not in regular layer
|
|
return true;
|
|
}
|
|
|
|
const mousePos = this.root.app.mousePosition;
|
|
if (!mousePos) {
|
|
// Mouse not registered
|
|
return true;
|
|
}
|
|
|
|
const tile = this.root.camera.screenToWorld(mousePos).toTileSpace();
|
|
const contents = this.root.map.getLayerContentXY(tile.x, tile.y, "regular");
|
|
if (!contents || !contents.components.Belt) {
|
|
// Nothing below
|
|
return true;
|
|
}
|
|
|
|
if (contents.components.Belt.assignedPath !== this) {
|
|
// Not this path
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Draws the path
|
|
* @param {DrawParameters} parameters
|
|
*/
|
|
draw(parameters) {
|
|
if (!parameters.visibleRect.containsRect(this.worldBounds)) {
|
|
return;
|
|
}
|
|
|
|
if (this.items.length === 0) {
|
|
// Early out
|
|
return;
|
|
}
|
|
|
|
if (this.checkIsPotatoMode()) {
|
|
const firstItem = this.items[0];
|
|
if (this.entityPath.length > 1 && firstItem) {
|
|
const medianBeltIndex = clamp(
|
|
Math.round(this.entityPath.length / 2 - 1),
|
|
0,
|
|
this.entityPath.length - 1
|
|
);
|
|
const medianBelt = this.entityPath[medianBeltIndex];
|
|
const beltComp = medianBelt.components.Belt;
|
|
const staticComp = medianBelt.components.StaticMapEntity;
|
|
const centerPosLocal = beltComp.transformBeltToLocalSpace(
|
|
this.entityPath.length % 2 === 0 ? beltComp.getEffectiveLengthTiles() : 0.5
|
|
);
|
|
const centerPos = staticComp.localTileToWorld(centerPosLocal).toWorldSpaceCenterOfTile();
|
|
|
|
parameters.context.globalAlpha = 0.5;
|
|
firstItem[_item].drawItemCenteredClipped(centerPos.x, centerPos.y, parameters);
|
|
parameters.context.globalAlpha = 1;
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
let currentItemPos = this.spacingToFirstItem;
|
|
let currentItemIndex = 0;
|
|
|
|
let trackPos = 0.0;
|
|
|
|
// Iterate whole track and check items
|
|
for (let i = 0; i < this.entityPath.length; ++i) {
|
|
const entity = this.entityPath[i];
|
|
const beltComp = entity.components.Belt;
|
|
const beltLength = beltComp.getEffectiveLengthTiles();
|
|
|
|
// Check if the current items are on the belt
|
|
while (trackPos + beltLength >= currentItemPos - 1e-5) {
|
|
// It's on the belt, render it now
|
|
const staticComp = entity.components.StaticMapEntity;
|
|
assert(
|
|
currentItemPos - trackPos >= 0,
|
|
"invalid track pos: " + currentItemPos + " vs " + trackPos + " (l =" + beltLength + ")"
|
|
);
|
|
|
|
const localPos = beltComp.transformBeltToLocalSpace(currentItemPos - trackPos);
|
|
const worldPos = staticComp.localTileToWorld(localPos).toWorldSpaceCenterOfTile();
|
|
|
|
const distanceAndItem = this.items[currentItemIndex];
|
|
|
|
distanceAndItem[_item].drawItemCenteredClipped(
|
|
worldPos.x,
|
|
worldPos.y,
|
|
parameters,
|
|
globalConfig.defaultItemDiameter
|
|
);
|
|
|
|
// Check for the next item
|
|
currentItemPos += distanceAndItem[_nextDistance];
|
|
++currentItemIndex;
|
|
|
|
if (currentItemIndex >= this.items.length) {
|
|
// We rendered all items
|
|
return;
|
|
}
|
|
}
|
|
|
|
trackPos += beltLength;
|
|
}
|
|
}
|
|
}
|
|
</code></pre>
|
|
|
|
</div>
|
|
|
|
<footer class="footer">
|
|
Generated by
|
|
<a href="https://esdoc.org">ESDoc<span data-ice="esdocVersion">(1.1.0)</span><img src="./image/esdoc-logo-mini-black.png"></a>
|
|
</footer>
|
|
|
|
<script src="script/search_index.js"></script>
|
|
<script src="script/search.js"></script>
|
|
<script src="script/pretty-print.js"></script>
|
|
<script src="script/inherited-summary.js"></script>
|
|
<script src="script/test-summary.js"></script>
|
|
<script src="script/inner-link.js"></script>
|
|
<script src="script/patch-for-local.js"></script>
|
|
</body>
|
|
|
|
</html> |