138 lines
6.0 KiB
HTML
138 lines
6.0 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>hoel - Admin</title>
|
|
<link rel="stylesheet" href="style.css">
|
|
<link rel="stylesheet" href="admin.css">
|
|
<link rel="icon" href="favicon.png" type="image/png">
|
|
</head>
|
|
<body>
|
|
<!-- Admin Panel -->
|
|
<div id="admin-panel">
|
|
<div class="admin-header">
|
|
<h2>ADMIN PANEL</h2>
|
|
<button id="admin-toggle" title="Toggle Panel">▼</button>
|
|
</div>
|
|
|
|
<div id="admin-content">
|
|
<!-- Spawn Objects -->
|
|
<div class="admin-section">
|
|
<h3>Spawn Objects</h3>
|
|
<div class="admin-buttons">
|
|
<button onclick="adminSpawn('small')">Small Asteroid</button>
|
|
<button onclick="adminSpawn('medium')">Medium Asteroid</button>
|
|
<button onclick="adminSpawn('large')">Large Asteroid</button>
|
|
<button onclick="adminSpawn('comet')">Comet</button>
|
|
<button onclick="adminSpawn('planet')">Planet</button>
|
|
<button onclick="adminSpawn('giant')">Giant</button>
|
|
<button onclick="adminSpawn('mtype')">M-Type</button>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Set Levels -->
|
|
<div class="admin-section">
|
|
<h3>Set Levels</h3>
|
|
<div class="admin-input-group">
|
|
<label>Asteroids:</label>
|
|
<input type="number" id="admin-asteroid-level" min="0" value="0">
|
|
<button onclick="adminSetLevel('asteroid')">Set</button>
|
|
</div>
|
|
<div class="admin-input-group">
|
|
<label>Comets:</label>
|
|
<input type="number" id="admin-comet-level" min="0" value="0">
|
|
<button onclick="adminSetLevel('comet')">Set</button>
|
|
</div>
|
|
<div class="admin-input-group">
|
|
<label>Planets:</label>
|
|
<input type="number" id="admin-planet-level" min="0" value="0">
|
|
<button onclick="adminSetLevel('planet')">Set</button>
|
|
</div>
|
|
<div class="admin-input-group">
|
|
<label>Giants:</label>
|
|
<input type="number" id="admin-giant-level" min="0" value="0">
|
|
<button onclick="adminSetLevel('giant')">Set</button>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Add Mass -->
|
|
<div class="admin-section">
|
|
<h3>Add Mass</h3>
|
|
<div class="admin-input-group">
|
|
<input type="number" id="admin-mass-input" placeholder="Amount in kg" value="1000000">
|
|
<button onclick="adminAddMass()">Add Mass</button>
|
|
</div>
|
|
<div class="admin-buttons">
|
|
<button onclick="adminAddMass(1e9)">+1 Gt</button>
|
|
<button onclick="adminAddMass(1e12)">+1 Tt</button>
|
|
<button onclick="adminAddMass(1e15)">+1 Pt</button>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Notifications -->
|
|
<div class="admin-section">
|
|
<h3>Test Notifications</h3>
|
|
<div class="admin-buttons">
|
|
<button onclick="showUnlockNotification('comet')">Unlock: Comet</button>
|
|
<button onclick="showUnlockNotification('planet')">Unlock: Planet</button>
|
|
<button onclick="showUnlockNotification('giant')">Unlock: Giant</button>
|
|
</div>
|
|
<div class="admin-buttons">
|
|
<button onclick="showOfflineNotification('5 minutes', '1.23 Tt')">Offline Progress</button>
|
|
<button onclick="showErrorNotification('Test error message')">Error</button>
|
|
<button onclick="showSuccessNotification('Test success message')">Success</button>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Unlocks -->
|
|
<div class="admin-section">
|
|
<h3>Toggle Unlocks</h3>
|
|
<div class="admin-buttons">
|
|
<button onclick="adminToggleUnlock('comet')">Toggle Comets</button>
|
|
<button onclick="adminToggleUnlock('planet')">Toggle Planets</button>
|
|
<button onclick="adminToggleUnlock('giant')">Toggle Giants</button>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Game State -->
|
|
<div class="admin-section">
|
|
<h3>Game State</h3>
|
|
<div class="admin-buttons">
|
|
<button onclick="adminSaveGame()">Save Now</button>
|
|
<button onclick="adminLoadGame()">Reload State</button>
|
|
<button onclick="adminResetGame()">Reset Game</button>
|
|
</div>
|
|
<div class="admin-buttons">
|
|
<button onclick="adminExportState()">Export JSON</button>
|
|
<button onclick="adminImportState()">Import JSON</button>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Info Display -->
|
|
<div class="admin-section">
|
|
<h3>Current State</h3>
|
|
<div id="admin-info" class="admin-info">
|
|
<div>Player ID: <span id="admin-player-id">-</span></div>
|
|
<div>Mass: <span id="admin-mass">-</span></div>
|
|
<div>Total Level: <span id="admin-total-level">-</span></div>
|
|
<div>Asteroids: <span id="admin-asteroids">-</span></div>
|
|
<div>Active Objects: <span id="admin-objects">-</span></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Game Canvas -->
|
|
<canvas id="space"></canvas>
|
|
|
|
<!-- Same scripts as index.html -->
|
|
<script src="js/config.js"></script>
|
|
<script src="js/helpers.js"></script>
|
|
<script src="js/entities.js"></script>
|
|
<script src="js/storage.js"></script>
|
|
<script src="js/admin.js"></script>
|
|
<script src="js/game.js"></script>
|
|
</body>
|
|
</html>
|