profectus-docs/guide/features.html

39 lines
No EOL
27 KiB
HTML

<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Features | Profectus</title>
<meta name="description" content="A game engine that grows with you.">
<link rel="stylesheet" href="/assets/style.148fff69.css">
<link rel="modulepreload" href="/assets/app.54d5a277.js">
<link rel="modulepreload" href="/assets/guide_features.md.45594f53.lean.js">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,400;0,600;1,400">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<script defer="true" data-domain="moddingtree.com" src="https://plausible.io/js/plausible.js"></script>
<meta name="og:description" content="A game engine that grows with you">
<meta name="og:image" content="/Logo.png">
<meta name="twitter:title" content="Features | Profectus">
<meta property="og:title" content="Features | Profectus">
</head>
<body>
<div id="app"><!--[--><div class="theme"><header class="nav-bar" data-v-675d8756><div class="sidebar-button" data-v-675d8756><svg class="icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z" class></path></svg></div><a class="nav-bar-title" href="/" aria-label="Profectus, back to home" data-v-675d8756 data-v-cc01ef16><!----> Profectus</a><div class="flex-grow" data-v-675d8756></div><div class="nav" data-v-675d8756><nav class="nav-links" data-v-675d8756 data-v-eab3edfe><!--[--><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item active" href="/guide/" data-v-b8818f8c>Guide <!----></a></div></div><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item" href="/api/" data-v-b8818f8c>API <!----></a></div></div><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item isExternal" href="https://forums.moddingtree.com" target="_blank" rel="noopener noreferrer" data-v-b8818f8c>Forums <svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" data-v-b8818f8c><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div></div><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item isExternal" href="https://discord.gg/F3xveHV" target="_blank" rel="noopener noreferrer" data-v-b8818f8c>Discord <svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" data-v-b8818f8c><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div></div><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item isExternal" href="https://github.com/profectus-engine/Profectus" target="_blank" rel="noopener noreferrer" data-v-b8818f8c>Github <svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" data-v-b8818f8c><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div></div><!--]--><!----><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item isExternal" href="https://github.com/profectus-engine/profectus-docs" target="_blank" rel="noopener noreferrer" data-v-b8818f8c>GitHub <svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" data-v-b8818f8c><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div></div></nav></div><!--[--><!--]--></header><aside class="sidebar" data-v-83e92a68><nav class="nav-links nav" data-v-83e92a68 data-v-eab3edfe><!--[--><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item active" href="/guide/" data-v-b8818f8c>Guide <!----></a></div></div><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item" href="/api/" data-v-b8818f8c>API <!----></a></div></div><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item isExternal" href="https://forums.moddingtree.com" target="_blank" rel="noopener noreferrer" data-v-b8818f8c>Forums <svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" data-v-b8818f8c><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div></div><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item isExternal" href="https://discord.gg/F3xveHV" target="_blank" rel="noopener noreferrer" data-v-b8818f8c>Discord <svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" data-v-b8818f8c><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div></div><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item isExternal" href="https://github.com/profectus-engine/Profectus" target="_blank" rel="noopener noreferrer" data-v-b8818f8c>Github <svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" data-v-b8818f8c><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div></div><!--]--><!----><div class="item" data-v-eab3edfe><div class="nav-link" data-v-eab3edfe data-v-b8818f8c><a class="item isExternal" href="https://github.com/profectus-engine/profectus-docs" target="_blank" rel="noopener noreferrer" data-v-b8818f8c>GitHub <svg class="icon outbound" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" data-v-b8818f8c><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div></div></nav><!--[--><!--]--><ul class="sidebar-links" data-v-83e92a68><!--[--><li class="sidebar-link"><p class="sidebar-link-item">Getting Started</p><ul class="sidebar-links"><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/">Introduction</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/setup">Setting Up</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/updating">Updating Profectus</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/examples">Example Projects</a><!----></li></ul></li><li class="sidebar-link"><p class="sidebar-link-item">Creating Your Project</p><ul class="sidebar-links"><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/project-info">Project Info</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/project-entry">Project Entry</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/changelog">Changelog</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/themes">Themes</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/utils">Utilities</a><!----></li></ul></li><li class="sidebar-link"><p class="sidebar-link-item">Important Concepts</p><ul class="sidebar-links"><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/layers">Layers</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item active" href="/guide/features">Features</a><ul class="sidebar-links"><li class="sidebar-link"><a class="sidebar-link-item" href="#tree-shaking">Tree Shaking</a><!----></li></ul></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/coercable">Coercable Components</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/reactivity">Reactivity</a><!----></li></ul></li><li class="sidebar-link"><p class="sidebar-link-item">Advanced Concepts</p><ul class="sidebar-links"><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/creating-features">Creating Features</a><!----></li><li class="sidebar-link"><a class="sidebar-link-item" href="/guide/dynamic-layers">Dynamic Layers</a><!----></li></ul></li><!--]--></ul><!--[--><!--]--></aside><div class="sidebar-mask"></div><main class="page" data-v-7eddb2c4><div class="container" data-v-7eddb2c4><!--[--><!--]--><div style="position:relative;" class="content" data-v-7eddb2c4><div><h1 id="features" tabindex="-1">Features <a class="header-anchor" href="#features" aria-hidden="true">#</a></h1><p>A <a href="./layers.html">layer</a> is made up of features. There are many types of features included in Profectus, and more can be created once you become familiar with the engine.</p><p>To create a feature, the feature type will have one or more functions to help you. They&#39;ll typically look something like this:</p><div class="language-ts"><pre><code><span class="token keyword">const</span> addGainUpgrade <span class="token operator">=</span> <span class="token function">createUpgrade</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">(</span><span class="token punctuation">{</span>
display<span class="token operator">:</span> <span class="token punctuation">{</span>
title<span class="token operator">:</span> <span class="token string">&quot;Generator of Genericness&quot;</span><span class="token punctuation">,</span>
description<span class="token operator">:</span> <span class="token string">&quot;Gain 1 point every second&quot;</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
cost<span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>
resource<span class="token operator">:</span> points
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre></div><p>The result will be a <a href="./layers.html#lazy-proxies">lazy proxy</a> of the feature being created. The feature can then be used throughout the rest of the layer. The main thing to keep in mind when creating features is that they should typically be included in the layer object that gets returned. If a feature has any <a href="./reactivity.html#persistent">persistent refs</a> they must be included or else they will not have their values saved and loaded correctly.</p><p>While the structure of layers is intentionally left up to the creator, it is recommended to avoid storing them in arrays. If you ever remove an upgrade from an array, or add an upgrade in between others, then it will interfere with the save data of existing users. You can manually fix these issues in <a href="./project-entry.html#fixoldsave">fixOldSave</a>, but it&#39;s recommended to avoid the error entirely.</p><p>Since usually you want to access a specific feature, storing them in an object is much more reliable and makes the code easier to read. For things like checking number of upgrades bought, for example, you can still use <code>Object.values</code> to get an array of the objects instead.</p><h4 id="example" tabindex="-1">Example <a class="header-anchor" href="#example" aria-hidden="true">#</a></h4><div class="language-ts"><pre><code><span class="token keyword">const</span> upgrades <span class="token operator">=</span> <span class="token punctuation">{</span> addGainUpgrade<span class="token punctuation">,</span> gainMultUpgrade<span class="token punctuation">,</span> upgMultUpgrade <span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> numUpgrades <span class="token operator">=</span> <span class="token function">computed</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> Object<span class="token punctuation">.</span><span class="token function">values</span><span class="token punctuation">(</span>upgrades<span class="token punctuation">)</span><span class="token punctuation">.</span>length<span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre></div><h2 id="tree-shaking" tabindex="-1">Tree Shaking <a class="header-anchor" href="#tree-shaking" aria-hidden="true">#</a></h2><p>Since Profectus takes advantage of <a href="https://developer.mozilla.org/en-US/docs/Glossary/Tree_shaking" target="_blank" rel="noopener noreferrer">tree shaking</a>, and type of feature that is not used will not be included in the output of the project. That means users have less code to download, a slight performance boost, and you don&#39;t need to worry about feature type-specific settings appearing (such as whether to show maxed challenges).</p><p>It should be noted that a couple features depend on each other, such as Buyables depending on Clickables. That means you may see features included in the output despite not directly using them. Some features, such as Links and Tooltips, are used by the engine itself and will always be included in the output.</p></div></div><footer class="page-footer" data-v-7eddb2c4 data-v-07c132fc><div class="edit" data-v-07c132fc><div class="edit-link" data-v-07c132fc data-v-1ed99556><a class="link" href="https://github.com/profectus-engine/profectus-docs/edit/main/docs/guide/features.md" target="_blank" rel="noopener noreferrer" data-v-1ed99556>Edit this page on GitHub <svg class="icon outbound icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" data-v-1ed99556><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div></div><div class="updated" data-v-07c132fc><!----></div></footer><div class="next-and-prev-link" data-v-7eddb2c4 data-v-38ede35f><div class="container" data-v-38ede35f><div class="prev" data-v-38ede35f><a class="link" href="/guide/layers" data-v-38ede35f><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="icon icon-prev" data-v-38ede35f><path d="M19,11H7.4l5.3-5.3c0.4-0.4,0.4-1,0-1.4s-1-0.4-1.4,0l-7,7c-0.1,0.1-0.2,0.2-0.2,0.3c-0.1,0.2-0.1,0.5,0,0.8c0.1,0.1,0.1,0.2,0.2,0.3l7,7c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3c0.4-0.4,0.4-1,0-1.4L7.4,13H19c0.6,0,1-0.4,1-1S19.6,11,19,11z"></path></svg><span class="text" data-v-38ede35f>Layers</span></a></div><div class="next" data-v-38ede35f><a class="link" href="/guide/coercable" data-v-38ede35f><span class="text" data-v-38ede35f>Coercable Components</span><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="icon icon-next" data-v-38ede35f><path d="M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"></path></svg></a></div></div></div><!--[--><!--]--></div></main></div><!----><!--]--></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"api_classes_lib_break_eternity.decimal.md\":\"2e9474a5\",\"api_components_infocomponent.md\":\"9268fd0b\",\"api_components_layercomponent.md\":\"8487db48\",\"api_components_marknodecomponent.md\":\"c1c38c9a\",\"api_components_modalcomponent.md\":\"ea922059\",\"api_components_savecomponent.md\":\"4d6d3e14\",\"api_components_tooltipcomponent.md\":\"f6a41729\",\"api_components_fields_dangerbuttoncomponent.md\":\"3dad3153\",\"api_components_fields_feedbackbuttoncomponent.md\":\"6330b0e0\",\"api_components_fields_selectcomponent.md\":\"16191343\",\"api_components_fields_slidercomponent.md\":\"a02b46cb\",\"api_components_fields_textcomponent.md\":\"0cf1e160\",\"api_components_fields_togglecomponent.md\":\"f6a8cdf1\",\"api_components_layout_columncomponent.md\":\"6aaaf4b5\",\"api_components_layout_rowcomponent.md\":\"46cfb225\",\"api_components_layout_spacercomponent.md\":\"21dd6202\",\"api_components_layout_stickycomponent.md\":\"c6765018\",\"api_components_layout_verticalrulecomponent.md\":\"578f9242\",\"api_components_links_linkcomponent.md\":\"735f266b\",\"api_components_links_linknodecomponent.md\":\"350849d0\",\"api_components_links_linkscomponent.md\":\"6a476214\",\"api_enums_data_themes.themes.md\":\"fc156021\",\"api_enums_features_bars_bar.direction.md\":\"54246677\",\"api_enums_features_boards_board.progressdisplay.md\":\"f88f588a\",\"api_enums_features_boards_board.shape.md\":\"96df088a\",\"api_enums_features_feature.visibility.md\":\"f23602cc\",\"api_enums_features_milestones_milestone.milestonedisplay.md\":\"721c5e05\",\"api_features_achievements_achievementcomponent.md\":\"f00a4e6f\",\"api_features_bars_barcomponent.md\":\"4b5c162c\",\"api_features_boards_boardlinkcomponent.md\":\"a5c05abb\",\"api_features_boards_boardnodecomponent.md\":\"2c90849f\",\"api_features_challenges_challengecomponent.md\":\"cad57613\",\"api_features_clickables_clickablecomponent.md\":\"092f6f0d\",\"api_features_grids_gridcellcomponent.md\":\"4df66981\",\"api_features_grids_gridcomponent.md\":\"d0e13824\",\"api_features_infoboxes_infoboxcomponent.md\":\"ea6a8130\",\"api_features_milestones_milestonecomponent.md\":\"3bafc182\",\"api_features_resources_maindisplaycomponent.md\":\"45b4c6ce\",\"api_features_resources_resourcecomponent.md\":\"e2338984\",\"api_features_tabs_tabbuttoncomponent.md\":\"14a8feb1\",\"api_features_tabs_tabcomponent.md\":\"61d65d01\",\"api_features_tabs_tabfamilycomponent.md\":\"3741316b\",\"api_features_trees_treecomponent.md\":\"153080f8\",\"api_features_trees_treenodecomponent.md\":\"a975cbaf\",\"api_features_upgrades_upgradecomponent.md\":\"ae8a0b19\",\"api_index.md\":\"7405d1ea\",\"api_interfaces_data_common.layertreenodeoptions.md\":\"86a5ba73\",\"api_interfaces_data_common.resetbuttonoptions.md\":\"004fa04e\",\"api_interfaces_data_themes.theme.md\":\"e04f38cc\",\"api_interfaces_data_themes.themevars.md\":\"8489d101\",\"api_interfaces_features_achievements_achievement.achievementoptions.md\":\"41143a19\",\"api_interfaces_features_achievements_achievement.baseachievement.md\":\"d95817ac\",\"api_interfaces_features_bars_bar.baroptions.md\":\"7a25f8ae\",\"api_interfaces_features_bars_bar.basebar.md\":\"151b1261\",\"api_interfaces_features_boards_board.baseboard.md\":\"d9462f11\",\"api_interfaces_features_boards_board.baseboardnodeaction.md\":\"c3b32bc1\",\"api_interfaces_features_boards_board.basenodetype.md\":\"d2442c1f\",\"api_interfaces_features_boards_board.boardnode.md\":\"a8030d6b\",\"api_interfaces_features_boards_board.boardnodeactionoptions.md\":\"ee083dc3\",\"api_interfaces_features_boards_board.boardnodelink.md\":\"482cc3ac\",\"api_interfaces_features_boards_board.boardoptions.md\":\"013ad483\",\"api_interfaces_features_boards_board.nodelabel.md\":\"52b06570\",\"api_interfaces_features_boards_board.nodetypeoptions.md\":\"fb7359bd\",\"api_interfaces_features_buyable.basebuyable.md\":\"4d4c47bf\",\"api_interfaces_features_buyable.buyableoptions.md\":\"61b3d6f5\",\"api_interfaces_features_challenges_challenge.basechallenge.md\":\"0f76f035\",\"api_interfaces_features_challenges_challenge.challengeoptions.md\":\"2adf4f55\",\"api_interfaces_features_clickables_clickable.baseclickable.md\":\"aa64eacb\",\"api_interfaces_features_clickables_clickable.clickableoptions.md\":\"95cd1773\",\"api_interfaces_features_conversion.baseconversion.md\":\"29f4d485\",\"api_interfaces_features_conversion.conversionoptions.md\":\"fdcb62b1\",\"api_interfaces_features_grids_grid.basegrid.md\":\"e2d80953\",\"api_interfaces_features_grids_grid.gridcell.md\":\"aaf2fb10\",\"api_interfaces_features_grids_grid.gridoptions.md\":\"023acb0c\",\"api_interfaces_features_hotkey.basehotkey.md\":\"fafd2fb8\",\"api_interfaces_features_hotkey.hotkeyoptions.md\":\"ad7e2b66\",\"api_interfaces_features_infoboxes_infobox.baseinfobox.md\":\"22c67064\",\"api_interfaces_features_infoboxes_infobox.infoboxoptions.md\":\"b64ca2b1\",\"api_interfaces_features_links.link.md\":\"92748a1c\",\"api_interfaces_features_links.linknode.md\":\"e2e22c98\",\"api_interfaces_features_milestones_milestone.basemilestone.md\":\"b397fb85\",\"api_interfaces_features_milestones_milestone.milestoneoptions.md\":\"abcaa9ae\",\"api_interfaces_features_reset.basereset.md\":\"e52a0802\",\"api_interfaces_features_reset.resetoptions.md\":\"fcd99832\",\"api_interfaces_features_resources_resource.resource.md\":\"c71493b0\",\"api_interfaces_features_tabs_tab.basetab.md\":\"0556dec9\",\"api_interfaces_features_tabs_tab.taboptions.md\":\"4bc3ef01\",\"api_interfaces_features_tabs_tabfamily.basetabbutton.md\":\"aeec9c20\",\"api_interfaces_features_tabs_tabfamily.basetabfamily.md\":\"a1d049dc\",\"api_interfaces_features_tabs_tabfamily.tabbuttonoptions.md\":\"e1234e55\",\"api_interfaces_features_tabs_tabfamily.tabfamilyoptions.md\":\"4145fc45\",\"api_interfaces_features_tooltip.tooltip.md\":\"96ada82b\",\"api_interfaces_features_trees_tree.basetree.md\":\"fcbd748f\",\"api_interfaces_features_trees_tree.basetreenode.md\":\"2e7bbc9a\",\"api_interfaces_features_trees_tree.treebranch.md\":\"e8323249\",\"api_interfaces_features_trees_tree.treenodeoptions.md\":\"5457538d\",\"api_interfaces_features_trees_tree.treeoptions.md\":\"3be856e0\",\"api_interfaces_features_upgrades_upgrade.baseupgrade.md\":\"44421a0e\",\"api_interfaces_features_upgrades_upgrade.upgradeoptions.md\":\"78d05f41\",\"api_interfaces_game_events.globalevents.md\":\"4baf5255\",\"api_interfaces_game_layers.baselayer.md\":\"1471acf9\",\"api_interfaces_game_layers.layerevents.md\":\"04dde607\",\"api_interfaces_game_layers.layeroptions.md\":\"03584db7\",\"api_interfaces_game_layers.position.md\":\"025bda3d\",\"api_interfaces_game_player.playerdata.md\":\"2b49fd23\",\"api_interfaces_game_settings.settings.md\":\"ad495120\",\"api_interfaces_game_state.transient.md\":\"607603b5\",\"api_modules_data_common.md\":\"a284fb9e\",\"api_modules_data_projentry.md\":\"26f15300\",\"api_modules_data_themes.md\":\"43ad146f\",\"api_modules_features_achievements_achievement.md\":\"1976f934\",\"api_modules_features_bars_bar.md\":\"6340adcb\",\"api_modules_features_boards_board.md\":\"f79a5d94\",\"api_modules_features_buyable.md\":\"c9bd72e7\",\"api_modules_features_challenges_challenge.md\":\"581f6471\",\"api_modules_features_clickables_clickable.md\":\"bb96ec94\",\"api_modules_features_conversion.md\":\"12541b73\",\"api_modules_features_feature.md\":\"8be9b220\",\"api_modules_features_grids_grid.md\":\"11f655d6\",\"api_modules_features_hotkey.md\":\"4fe52be9\",\"api_modules_features_infoboxes_infobox.md\":\"8c49c387\",\"api_modules_features_links.md\":\"511ac737\",\"api_modules_features_milestones_milestone.md\":\"38698bba\",\"api_modules_features_reset.md\":\"0cb10c08\",\"api_modules_features_resources_resource.md\":\"5d31da4e\",\"api_modules_features_tabs_tab.md\":\"91845a48\",\"api_modules_features_tabs_tabfamily.md\":\"152aa1aa\",\"api_modules_features_tooltip.md\":\"ad507864\",\"api_modules_features_trees_tree.md\":\"c2134c39\",\"api_modules_features_upgrades_upgrade.md\":\"c1b84c70\",\"api_modules_game_events.md\":\"33f91ac2\",\"api_modules_game_layers.md\":\"b7e968b4\",\"api_modules_game_notifications.md\":\"7ba2a85d\",\"api_modules_game_persistence.md\":\"d1dca077\",\"api_modules_game_player.md\":\"a8451714\",\"api_modules_game_settings.md\":\"be174b41\",\"api_modules_game_state.md\":\"8aedeadc\",\"api_modules_lib_break_eternity.md\":\"690608da\",\"api_modules_util_bignum.md\":\"c73c6a60\",\"api_modules_util_break_eternity.md\":\"8022c110\",\"api_modules_util_common.md\":\"e7243016\",\"api_modules_util_computed.md\":\"754b4330\",\"api_modules_util_proxies.md\":\"064ad4bd\",\"api_modules_util_save.md\":\"bfeb448d\",\"api_modules_util_vue.md\":\"6083a625\",\"guide_changelog.md\":\"521e51fc\",\"guide_coercable.md\":\"fc3c07c4\",\"guide_creating-features.md\":\"5004c41e\",\"guide_dynamic-layers.md\":\"b5cfe9be\",\"guide_examples.md\":\"d5fde534\",\"guide_features.md\":\"45594f53\",\"guide_index.md\":\"1e770c7b\",\"guide_layers.md\":\"9ab72fa0\",\"guide_project-entry.md\":\"d05ac823\",\"guide_project-info.md\":\"a98ad6ae\",\"guide_reactivity.md\":\"c07bfd34\",\"guide_setup.md\":\"4c417fae\",\"guide_themes.md\":\"6f836579\",\"guide_updating.md\":\"92cbc044\",\"guide_utils.md\":\"539a4639\",\"index.md\":\"9365e0a9\"}")</script>
<script type="module" async src="/assets/app.54d5a277.js"></script>
</body>
</html>