Main menu

This commit is contained in:
Dominik G.
2025-10-04 17:22:58 +02:00
parent c2173eb9b7
commit b52b3aa830
382 changed files with 118492 additions and 0 deletions

364
UI/MainMenuStyles.uss Normal file
View File

@@ -0,0 +1,364 @@
/* ====================
ROOT VARIABLES
==================== */
:root {
/* Color Palette */
--color-primary: rgb(76, 175, 80);
--color-primary-hover: rgb(102, 187, 106);
--color-primary-dark: rgb(56, 142, 60);
--color-danger: rgb(244, 67, 54);
--color-danger-hover: rgb(229, 115, 115);
--color-background-dark: rgba(18, 18, 18, 0.95);
--color-background-panel: rgba(33, 33, 33, 0.98);
--color-surface: rgba(48, 48, 48, 0.9);
--color-text-primary: rgb(255, 255, 255);
--color-text-secondary: rgb(189, 189, 189);
--color-text-disabled: rgb(117, 117, 117);
/* Spacing */
--spacing-xs: 4px;
--spacing-sm: 8px;
--spacing-md: 16px;
--spacing-lg: 24px;
--spacing-xl: 32px;
--spacing-xxl: 48px;
/* Border Radius */
--radius-sm: 4px;
--radius-md: 8px;
--radius-lg: 12px;
/* Shadows */
--shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.3);
--shadow-md: 0 4px 8px rgba(0, 0, 0, 0.4);
--shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.5);
/* Transitions */
--transition-fast: 0.15s;
--transition-normal: 0.3s;
--transition-slow: 0.5s;
}
/* ====================
MAIN CONTAINER
==================== */
.main-container {
width: 100%;
height: 100%;
background-color: var(--color-background-dark);
justify-content: center;
align-items: center;
}
.background-overlay {
position: absolute;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.6);
}
/* ====================
MENU CONTENT
==================== */
.menu-content {
width: 500px;
padding: var(--spacing-xxl);
background-color: var(--color-background-panel);
border-radius: var(--radius-lg);
border-width: 2px;
border-color: rgba(76, 175, 80, 0.3);
align-items: center;
justify-content: space-between;
transition-duration: var(--transition-normal);
}
/* ====================
TITLE SECTION
==================== */
.title-section {
align-items: center;
margin-bottom: var(--spacing-xl);
padding-top: var(--spacing-lg);
}
.game-title {
font-size: 64px;
-unity-font-style: bold;
color: var(--color-primary);
letter-spacing: 4px;
text-shadow: 0 4px 12px rgba(76, 175, 80, 0.6);
margin-bottom: var(--spacing-sm);
-unity-text-align: middle-center;
}
.subtitle {
font-size: 16px;
color: var(--color-text-secondary);
letter-spacing: 2px;
-unity-text-align: middle-center;
opacity: 0.8;
}
/* ====================
BUTTONS CONTAINER
==================== */
.buttons-container {
width: 100%;
align-items: stretch;
margin-top: var(--spacing-lg);
margin-bottom: var(--spacing-lg);
}
/* ====================
MENU BUTTONS
==================== */
.menu-button {
height: 50px;
margin-top: var(--spacing-sm);
margin-bottom: var(--spacing-sm);
background-color: var(--color-surface);
border-radius: var(--radius-md);
border-width: 2px;
border-color: rgba(255, 255, 255, 0.1);
color: var(--color-text-primary);
font-size: 18px;
-unity-font-style: bold;
letter-spacing: 1px;
transition-duration: var(--transition-fast);
transition-property: background-color, border-color, scale;
}
.menu-button:hover {
background-color: rgba(76, 175, 80, 0.2);
border-color: var(--color-primary);
scale: 1.02 1.02;
translate: 0 -2px;
}
.menu-button:active {
background-color: rgba(76, 175, 80, 0.3);
scale: 0.98 0.98;
translate: 0 0;
}
/* Primary Button Variant */
.primary-button {
background-color: var(--color-primary);
border-color: var(--color-primary-dark);
}
.primary-button:hover {
background-color: var(--color-primary-hover);
border-color: var(--color-primary);
scale: 1.05 1.05;
}
.primary-button:active {
background-color: var(--color-primary-dark);
scale: 0.98 0.98;
}
/* Danger Button Variant */
.danger-button {
background-color: rgba(244, 67, 54, 0.2);
border-color: rgba(244, 67, 54, 0.4);
}
.danger-button:hover {
background-color: var(--color-danger);
border-color: var(--color-danger);
scale: 1.02 1.02;
}
.danger-button:active {
background-color: rgb(211, 47, 47);
scale: 0.98 0.98;
}
/* ====================
VERSION INFO
==================== */
.version-info {
width: 100%;
align-items: center;
margin-top: var(--spacing-lg);
padding-top: var(--spacing-md);
border-top-width: 1px;
border-color: rgba(255, 255, 255, 0.1);
}
.version-label {
font-size: 12px;
color: var(--color-text-secondary);
opacity: 0.6;
-unity-text-align: middle-center;
}
/* ====================
SETTINGS PANEL
==================== */
.settings-panel {
position: absolute;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.8);
justify-content: center;
align-items: center;
transition-duration: var(--transition-normal);
}
.settings-panel.hidden {
display: none;
}
.settings-content {
width: 600px;
max-height: 80%;
padding: var(--spacing-xl);
background-color: var(--color-background-panel);
border-radius: var(--radius-lg);
border-width: 2px;
border-color: rgba(76, 175, 80, 0.3);
}
.panel-title {
font-size: 36px;
-unity-font-style: bold;
color: var(--color-primary);
letter-spacing: 2px;
margin-bottom: var(--spacing-xl);
-unity-text-align: middle-center;
}
/* ====================
SETTINGS SECTIONS
==================== */
.settings-section {
margin-bottom: var(--spacing-xl);
padding: var(--spacing-md);
background-color: rgba(255, 255, 255, 0.05);
border-radius: var(--radius-md);
}
.section-title {
font-size: 20px;
-unity-font-style: bold;
color: var(--color-text-primary);
margin-bottom: var(--spacing-md);
}
/* ====================
SETTING CONTROLS
==================== */
.setting-control {
margin-top: var(--spacing-sm);
margin-bottom: var(--spacing-sm);
height: 30px;
}
.setting-control Label {
min-width: 120px;
color: var(--color-text-secondary);
font-size: 14px;
}
.setting-control .unity-base-field__input {
background-color: var(--color-surface);
border-radius: var(--radius-sm);
border-width: 1px;
border-color: rgba(255, 255, 255, 0.2);
color: var(--color-text-primary);
}
/* Slider Styles */
.unity-slider {
flex-grow: 1;
}
.unity-slider__tracker {
background-color: rgba(255, 255, 255, 0.1);
border-radius: 4px;
height: 6px;
}
.unity-slider__dragger {
width: 18px;
height: 18px;
background-color: var(--color-primary);
border-radius: 50%;
border-width: 2px;
border-color: var(--color-primary-dark);
}
.unity-slider__dragger:hover {
background-color: var(--color-primary-hover);
scale: 1.2 1.2;
}
/* Toggle Styles */
.unity-toggle__input {
background-color: rgba(255, 255, 255, 0.1);
border-radius: var(--radius-sm);
}
.unity-toggle:checked .unity-toggle__input {
background-color: var(--color-primary);
}
.unity-toggle__checkmark {
background-color: white;
border-radius: 2px;
}
/* Dropdown Styles */
.unity-base-popup-field__input {
background-color: var(--color-surface);
border-radius: var(--radius-sm);
padding: var(--spacing-sm);
}
.unity-base-popup-field__input:hover {
border-color: var(--color-primary);
}
/* ====================
SETTINGS BUTTONS
==================== */
.settings-buttons {
flex-direction: row;
justify-content: space-between;
margin-top: var(--spacing-xl);
}
.settings-buttons .menu-button {
flex-grow: 1;
margin-left: var(--spacing-sm);
margin-right: var(--spacing-sm);
}
/* ====================
ANIMATIONS & EFFECTS
==================== */
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes slideUp {
from {
opacity: 0;
translate: 0 50px;
}
to {
opacity: 1;
translate: 0 0;
}
}
/* Apply animations (Note: Unity USS doesn't support keyframe animations natively,
but you can control these via C# using transitions) */