<!DOCTYPE html>
<head>
	<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">

	<link rel="stylesheet" type="text/css" href="style.css" />
	<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono&display=swap" rel="stylesheet">
	<link href="https://fonts.googleapis.com/css2?family=Pacifico&display=swap" rel="stylesheet">

	<script src="https://cdn.jsdelivr.net/npm/vue@2.6.12"></script>
	<script type="text/javascript" src="js/break_eternity.js"></script>
	<script type="text/javascript" src="js/layerSupport.js"></script>
	<script type="text/javascript" src="js/colors.js"></script>
	<script type="text/javascript" src="js/layers/u.js"></script>
	<script type="text/javascript" src="js/layers/e.js"></script>
	<script type="text/javascript" src="js/layers/c.js"></script>
	<script type="text/javascript" src="js/layers/r.js"></script>
	<script type="text/javascript" src="js/layers/s.js"></script>
	<script type="text/javascript" src="js/layers/f.js"></script>
	<script type="text/javascript" src="js/layers/a.js"></script>
	<script type="text/javascript" src="js/layers/t.js"></script>
	<script type="text/javascript" src="js/layers/d.js"></script>
	<script type="text/javascript" src="js/layers/l.js"></script>
	<script type="text/javascript" src="js/layers/g.js"></script>
	<script type="text/javascript" src="js/mod.js"></script>
	<script type="text/javascript" src="js/temp.js"></script>
	<script type="text/javascript" src="js/game.js"></script>
	<script type="text/javascript" src="js/utils.js"></script>
	<script type="text/javascript" src="js/v.js"></script>
	<script type="text/javascript" src="js/canvas.js"></script>

</head>
<body onload="load()">
	<div id="app">
		<div class="nav">
			<img src="igtm.jpg" height="50px" />
			<span id="title">The Game Dev Tree</span>
			<span id="version">{{VERSION.withoutName}}</span>
			<div id="discord">
				<img onclick="window.open((modInfo.discordLink ? modInfo.discordLink : 'https://discord.gg/F3xveHV'),'mywindow')" src="discord.png"  target="_blank"></img>
				<ul id="discord-links">
					<li v-if="modInfo.discordLink"><a class="link" v-bind:href="modInfo.discordLink" target="_blank">{{modInfo.discordName}}</a><br></li>
					<li><a class="link" href="https://discord.gg/F3xveHV" target="_blank" v-bind:style="modInfo.discordLink ? {'font-size': '16px'} : {}">The Modding Tree Discord</a><br></li>
					<li><a class="link" href="http://discord.gg/wwQfgPa" target="_blank" v-bind:style="{'font-size': '16px'}">Main Prestige Tree server</a></li>
				</ul>
			</div>
			<div id="info" v-if="player.tab!='info'" onclick="showTab('info')"><br>i</div>
			<img id="optionWheel" v-if="player.tab!='options'" src="options_wheel.png" onclick="showTab('options')"></img>
		</div>
		<div v-if="false" id="loadingSection" class="fullWidth">
			<h1>Loading... (If this takes too long it means there was a serious error!)</h1>
		</div>
		<div class="vl" v-if="player.tab!='tree'&&player.tab!='gameEnded'"></div>
		<div v-if="player.tab=='gameEnded'" class="fullWidth">
			<br>
			<h2>{{modInfo.name}} {{VERSION.withoutName}}</h2><br><br>
			<h3>Congratulations! You have completed your magnum opus and beaten the game!</h3><br>
			<div v-if="!player.timePlayedReset">It took you {{formatTime(player.timePlayed)}} to beat the game.</div>
			<div v-if="player.timePlayedReset">Make sure that you record the time in your stream or else your speedrun won't count!</div>
			<br>
			<button class="longUpg can" onclick="hardReset(true)">Play Again</button>&nbsp;&nbsp;&nbsp;&nbsp;<button class="longUpg can" onclick="keepGoing()">Keep Going</button>
			<br><br><br>
			<span v-if="modInfo.discordLink"><a class="link" v-bind:href="modInfo.discordLink" target="_blank">{{modInfo.discordName}}</a><br></span>
			<a class="link" href="https://discord.gg/F3xveHV" target="_blank" v-bind:style="modInfo.discordLink ? {'font-size': '16px'} : {}">The Modding Tree Discord</a><br>
			<a class="link" href="http://discord.gg/wwQfgPa" target="_blank" v-bind:style="{'font-size': '16px'}">Main Prestige Tree server</a><br>
		</div>
		<div v-if="player.tab=='changelog'" class="col right">
			<button class="back" onclick="showTab('tree')">←</button><br><br><br>
		</div>

		<div v-if="player.tab=='info'" class="col right">
			<button class="back" onclick="showTab('tree')">←</button><br>
			<h2>{{modInfo.name}}</h2>
			<br>
			<h3>{{VERSION.withName}}</h3>
			<span v-if="modInfo.author">
				<br>
				Made by {{modInfo.author}}
			</span>
			<br>
			The Modding Tree {{TMT_VERSION.tmtNum}} by Acamaeda
			<br>
			The Prestige Tree made by Jacorb and Aarex
			<br>
			Original idea by papyrus (on discord)
	        <br>
	        <a href="https://plaza.dsolver.ca/m/ThePaperPilot">My plaza profile</a>
			<br><br>
			<a v-bind:href="modInfo.changelogLink" target="_blank" class="link" >Changelog</a><br>
			<span v-if="modInfo.discordLink"><a class="link" v-bind:href="modInfo.discordLink" target="_blank">{{modInfo.discordName}}</a><br></span>
			<a class="link" href="https://discord.gg/F3xveHV" target="_blank" v-bind:style="modInfo.discordLink ? {'font-size': '16px'} : {}">The Modding Tree Discord</a><br>
			<a class="link" href="http://discord.gg/wwQfgPa" target="_blank" v-bind:style="{'font-size': '16px'}">Main Prestige Tree server</a><br>
			<br>
			Note by Jacorb: If anyone wishes to make a mod of this game, that is perfectly fine with me, just make sure to name it something different (ex: Prestige Tree NG+) and to let me know on <a href="https://discord.gg/wwQfgPa" target="_blank">my discord</a>.
			<br><br>
			Time Played: {{ formatTime(player.timePlayed) }}<br><br>
			<h3>Hotkeys</h3><br>
			<span v-for="key in hotkeys" v-if="player[key.layer].unlocked"><br>{{key.description}}</span>
		</div>
		<div v-if="player.tab=='options'" class="col right">
			<button class="back" onclick="showTab('tree')">←</button><br>
			<table>
				<tr>
					<td><button class="opt" onclick="save()">Save</button></td>
					<td><button class="opt" onclick="toggleOpt('autosave')">Autosave: {{ player.autosave?"ON":"OFF" }}</button></td>
					<td><button class="opt" onclick="hardReset()">HARD RESET</button></td>
				</tr>
				<tr>
					<td><button class="opt" onclick="exportSave()">Export to clipboard</button></td>
					<td><button class="opt" onclick="importSave()">Import</button></td>
					<td><button class="opt" onclick="toggleOpt('offlineProd')">Offline Prod: {{ player.offlineProd?"ON":"OFF" }}</button></td>
				</tr>
				<tr>
					<td><button class="opt" onclick="switchTheme()">Theme: {{ getThemeName() }}</button></td>
					<td><button class="opt" onclick="adjustMSDisp()">Show Milestones: {{ player.msDisplay.toUpperCase() }}</button></td>
					<td><button class="opt" onclick="toggleOpt('hqTree')">High-Quality Tree: {{ player.hqTree?"ON":"OFF" }}</button></td>
				</tr>
					<tr>
						<td><button class="opt" onclick="toggleOpt('hideChallenges')">Completed Challenges: {{ player.hideChallenges?"HIDDEN":"SHOWN" }}</button></td>
					<!--	<td><button class="opt" onclick="toggleOpt('oldStyle')">Style: {{ player.oldStyle?"v1.0":"NEW" }}</button></td>-->
				</tr>
			</table>
		</div>
		<div id="treeOverlay" class="treeOverlay" v-if="player.tab!='gameEnded'" onscroll="resizeCanvas()" v-bind:class="{ fullWidth: player.tab == 'tree', col: player.tab != 'tree', left: player.tab != 'tree'}">
			<div class="overlayThing" style="padding-bottom:7px; width: 90%">
				<span v-if="player.devSpeed && player.devSpeed != 1" class="overlayThing">
					<br>Dev Speed: {{format(player.devSpeed)}}x<br>
				</span>
				<span v-if="player.offTime !== undefined"  class="overlayThing">
					<br>Offline Time: {{formatTime(player.offTime.remain)}}<br>
				</span>
				<span v-if="!!getClickableState('r', 11) || !!getClickableState('r', 12) || !!getClickableState('r', 13) || !!getClickableState('r', 14)" class="overlayThing" style="color: red; font-size: 24px">
					<br>Refactoring active,<br>massively slowing down productivity!<br>
				</span>
				<br>
				<span v-if="player.points.lt('1e1000')"  class="overlayThing">You have </span>
				<h2  class="overlayThing" id="points">{{format(player.points)}}</h2>
				<span v-if="player.points.lt('1e1e6')"  class="overlayThing"> {{modInfo.pointsName}}</span>
				<br>
				<span v-if="canGenPoints()"  class="overlayThing">({{format(getPointGen())}}/sec)</span>
				<div v-for="thing in tmp.displayThings" class="overlayThing"><span v-if="thing" v-html="thing"></span></div>
			</div>
			<div class="sideLayers" >
				<div v-for="node in OTHER_LAYERS['side']"><layer-node :layer='node.layer' :abb='tmp[node.layer].symbol' :size="'small'"></layer-node></div>
			</div>
		</div>


		<div id="treeTab" style="z-index: 0" v-if="player.tab!='gameEnded'" onscroll="resizeCanvas()" v-bind:class="{ fullWidth: player.tab == 'tree', col: player.tab != 'tree', left: player.tab != 'tree'}">
			<br><br><br><br>
			<div id="fakeHead" style="visibility: hidden;">
				<span v-if="player.devSpeed && player.devSpeed != 1" class="overlayThing">
					<br>Dev Speed: {{format(player.devSpeed)}}x<br>
				</span>
				<span v-if="player.offTime !== undefined"  class="overlayThing">
					<br>Offline Time: {{formatTime(player.offTime.remain)}}<br>
				</span>
				<span v-if="!!getClickableState('r', 11) || !!getClickableState('r', 12) || !!getClickableState('r', 13) || !!getClickableState('r', 14)" class="overlayThing" style="color: red; font-size: 24px">
					<br>Refactoring active,<br>massively slowing down productivity!<br>
				</span>
				<br>
				<span v-if="player.points.lt('1e1000')"  class="overlayThing">You have </span>
				<h2  class="overlayThing" id="points">{{format(player.points)}}</h2>
				<span v-if="player.points.lt('1e1e6')"  class="overlayThing"> {{modInfo.pointsName}}</span>
				<br>
				<span v-if="canGenPoints()"  class="overlayThing">({{format(getPointGen())}}/sec)</span>
				<div v-for="thing in tmp.displayThings" class="overlayThing"><span v-if="thing" v-html="thing"></span></div>
			</div>
			<span v-for="(n, row) in (maxRow + 1)"><table>
				<td v-for="node in TREE_LAYERS[row]"><layer-node :layer='node.layer' :abb='tmp[node.layer].symbol'></layer-node></td>
				<table><button class="treeNode hidden"></button></td></table>
			</span>
			<canvas id="treeCanvas" class="canvas"></canvas>
		</div>
		<div v-for="layer in LAYERS" >
			<div v-if="player.tab==layer" v-bind:class="'col right fast tab'"  v-bind:style="[tmp[layer].style ? tmp[layer].style : {}, (tmp[layer].tabFormat && !Array.isArray(tmp[layer].tabFormat)) ? tmp[layer].tabFormat[player.subtabs[layer].mainTabs].style : {}]">
				<button class="back" onclick="showTab('tree')">←</button><br><br><br>
				<div v-if="!tmp[layer].tabFormat">
					<info-box v-if="tmp[layer].infoboxes" :layer="layer" :data="Object.keys(tmp[layer].infoboxes)[0]"></info-box>
					<main-display v-bind:style="tmp[layer].componentStyles['main-display']" :layer="layer"></main-display>
					<div v-if="tmp[layer].type !== 'none'">
						<prestige-button v-bind:style="tmp[layer].componentStyles['prestige-button']" :layer="layer"></prestige-button>
					</div>
					<resource-display v-bind:style="tmp[layer].componentStyles['resource-display']" :layer="layer"></resource-display>
					<milestones v-bind:style="tmp[layer].componentStyles.milestones" :layer="layer"></milestones>
					<div v-if="Array.isArray(tmp[layer].midsection)">
						<column :layer="layer" :data="tmp[layer].midsection"></column>
					</div>
					<clickables v-bind:style="tmp[layer].componentStyles['clickables']" :layer="layer"></clickables>
					<buyables v-bind:style="tmp[layer].componentStyles.buyables" :layer="layer"></buyables>
					<upgrades v-bind:style="tmp[layer].componentStyles['upgrades']" :layer="layer"></upgrades>
					<challenges v-bind:style="tmp[layer].componentStyles['challenges']" :layer="layer"></challenges>
					<br><br>
				</div>
				<div v-if="tmp[layer].tabFormat">
					<div v-if="Array.isArray(tmp[layer].tabFormat)">
						<column :layer="layer" :data="tmp[layer].tabFormat"></column>
					</div>
					<div v-else v-bind:style="[{'margin-top': '-50px'}]">
						<div class="upgTable" v-bind:style="{'padding-top': '25px', 'margin-bottom': '24px'}">
							<tab-buttons v-bind:style="tmp[layer].componentStyles['tab-buttons']" :layer="layer" :data="tmp[layer].tabFormat" :name="'mainTabs'"></tab-buttons>
						</div>
						<column :layer="layer" :data="tmp[layer].tabFormat[player.subtabs[layer].mainTabs].content"></column>
					</div>
				</div>
			</div>
		</div>
	</div>
</body>