# TheGame Ett 2D spel byggt i Godot med C# som innehåller en startmeny, timer och save/load funktionalitet. ## Funktioner - **Startmeny** med knappar för Start Game, Load Game och Exit - **Timer** som räknar speltid i övre högra hörnet - **Pausmeny** med knapp i övre vänstra hörnet som innehåller: - Pause/Resume funktionalitet - Save Game - Exit to Main Menu - Exit to Desktop - **Save/Load System** som sparar speltid i `saves/` mappen - **Load Game Menu** som visar alla sparade spel med datum - Load Game knappen är automatiskt utgråad om inga sparade spel finns ## Krav och Dependencies ### Systemkrav - **Godot 4.2** eller senare med C# support - **.NET 6.0** SDK eller senare - **Windows** (testat på Windows, men bör fungera på andra plattformar) ### Dependencies Projektet använder följande .NET dependencies: - `Godot.NET.Sdk` - Godot's .NET SDK - `System.Text.Json` - För JSON serialisering av sparfiler ## Installation och Setup ### 1. Installera Godot med C# Support 1. Ladda ner Godot 4.2+ **Mono version** från [godotengine.org](https://godotengine.org/download) 2. Installera .NET 6.0 SDK från [Microsoft](https://dotnet.microsoft.com/download) ### 2. Öppna Projektet 1. Starta Godot 2. Klicka på "Import" 3. Navigera till projektmappen och välj `project.godot` 4. Klicka "Import & Edit" ### 3. Första Kompilering 1. I Godot editorn, gå till **Project → Tools → C# → Create C# solution** 2. Vänta tills kompileringen är klar 3. Om fel uppstår, kontrollera att .NET SDK är korrekt installerat ## Kompilering och Körning ### Utvecklingsläge (Godot Editor) 1. Öppna projektet i Godot 2. Tryck **F5** eller klicka på "Play"-knappen 3. Första gången kommer du behöva välja `scenes/MainMenu.tscn` som main scene ### Bygga för Distribution 1. I Godot editorn, gå till **Project → Export** 2. Lägg till en export template för din målplattform (Windows, Linux, macOS) 3. Konfigurera export-inställningar 4. Klicka **Export Project** för att skapa en körbar fil ### Alternativ Kompilering via Terminal ```bash # Navigera till projektmappen cd c:\Repo\TheGame # Bygg projektet dotnet build # Kör Godot projekt från kommandoraden (kräver Godot i PATH) godot --path . scenes/MainMenu.tscn ``` ## Projektstruktur ``` TheGame/ ├── project.godot # Godot projektfil ├── TheGame.csproj # C# projektfil ├── scenes/ # Godot scener │ ├── MainMenu.tscn # Huvudmeny │ ├── Game.tscn # Spelscen │ └── LoadGameMenu.tscn # Ladda spel meny ├── scripts/ # C# scripts │ ├── MainMenu.cs # Huvudmeny logik │ ├── Game.cs # Spel logik och timer │ ├── PauseMenu.cs # Pausmeny logik │ ├── SaveManager.cs # Save/Load hantering │ ├── LoadGameMenu.cs # Ladda spel meny │ └── GameState.cs # Spelstatus hantering ├── saves/ # Sparade spel (skapas automatiskt) └── README.md # Denna fil ``` ## Kontroller - **ESC** - Pausa/återuppta spelet - **Musklick** - Navigera menyer och knappar - **Pausknapp** (☰) - Pausa spelet (övre vänstra hörnet) ## Felsökning ### Vanliga Problem 1. **"C# script compilation failed"** - Kontrollera att .NET 6.0 SDK är installerat - Kör `dotnet --version` i terminal för att verifiera 2. **"Cannot find Godot.NET.Sdk"** - Se till att du använder Godot Mono version - Återskapa C# solution via Project → Tools → C# → Create C# solution 3. **Save-filer sparas inte** - Kontrollera att spelet har skrivrättigheter till projektmappen - Saves sparas i `saves/` mappen bredvid den körbara filen 4. **Load Game knapp fungerar inte** - Detta är förväntat beteende om inga sparfiler finns - Knappen blir automatiskt klickbar när du har sparat minst ett spel ## Utveckling För att utveckla projektet vidare: 1. Öppna projektet i Godot 2. C# scripts kan redigeras i valfri IDE (Visual Studio, VS Code, Rider) 3. Godot kommer automatiskt att kompilera om scripten när de ändras 4. Använd Godot's debugger för att felsöka runtime-problem ## Licens Se `LICENSE` filen för licensinformation.