]> Skullheadx's Git Forge - Pygame-Jam.git/commitdiff
Developer Level Select Menu
authorlbcmk <30442978+lbcmk@users.noreply.github.com>
Sat, 9 Jul 2022 08:11:35 +0000 (04:11 -0400)
committerlbcmk <30442978+lbcmk@users.noreply.github.com>
Sat, 9 Jul 2022 08:11:35 +0000 (04:11 -0400)
DevLevelSelect.py [new file with mode: 0644]
main.py

diff --git a/DevLevelSelect.py b/DevLevelSelect.py
new file mode 100644 (file)
index 0000000..7b4df99
--- /dev/null
@@ -0,0 +1,70 @@
+from Setup import *
+from CommonImports.colours import black
+from Function.createText import createText
+
+from Game import Game
+from Test import Test
+from LevelCreator import LevelCreator
+from MainMenu import Menu
+
+class DevLevelSelect:
+
+    def __init__(self):
+        self.texts = []
+        X = 250
+        self.texts.append(createText(X, 100, 32, black, "Bold", "DEVELOPER LEVEL SELECT",))
+        self.texts.append(createText(X, 250, 24, black, "Regular", "MainMenu"))
+        self.texts.append(createText(X, 350, 24, black, "Regular", "Game"))
+        self.texts.append(createText(X, 450, 24, black, "Regular", "LevelCreator"))
+        self.texts.append(createText(X, 550, 24, black, "Regular", "AutoLoad [-]"))
+
+        self.autoload = False
+
+        f = open("./Save/ignore_DevAutoload.txt", "r")
+        lines = f.readlines()
+        f.close()
+        try:
+            self.level = int(lines[0])
+        except:
+            self.level = -3
+
+        
+    def update(self, delta):
+        for ev in pg.event.get():
+            if ev.type == pg.MOUSEBUTTONDOWN:
+                mouseX, mouseY = pg.mouse.get_pos()
+                for i in range(len(self.texts)):
+                    x1 = self.texts[i][1][0]
+                    y1 = self.texts[i][1][1]
+                    x2 = x1 + self.texts[i][0].get_rect()[2]
+                    y2 = y1 + self.texts[i][0].get_rect()[3]
+
+                    if (x1 <= mouseX <= x2 and y1 <= mouseY <= y2):
+                        self.menuFunctions(i)
+            return
+
+    def draw(self, surf):
+        screen.fill((255, 255, 255))
+        for i in self.texts:
+            screen.blit(i[0], i[1])
+
+    def menuFunctions(self, num):
+        match num:
+            case 1:
+                self.level = 0
+            case 2:
+                self.level = 1
+            case 3:
+                self.level = -2
+            case 4:
+                self.texts[4] = createText(250, 550, 24, black, "Regular", "AutoLoad [x]")
+                self.autoload = True
+                return;
+
+        if(self.autoload == True):
+            try:
+                f = open("./Save/ignore_DevAutoload.txt", "x")
+            except:
+                f = open("./Save/ignore_DevAutoload.txt", "w")
+            f.write(str(self.level))
+            f.close()
diff --git a/main.py b/main.py
index 0c790079b546ff19742797f6d4b2f550ada33599..541ec5cf08db5cb4b307a386cb84f4b6c380e293 100644 (file)
--- a/main.py
+++ b/main.py
@@ -4,11 +4,13 @@ from Test import Test
 from LevelCreator import LevelCreator
 from MainMenu import Menu
 
+from DevLevelSelect import DevLevelSelect
+
 delta = 1000//fps
 is_running = True
 
 # scene = Menu()
-scene = Game()
+scene = DevLevelSelect()
 old_level = 0
 level = 1
 
@@ -18,13 +20,15 @@ while is_running:
 
     if level <= 1:
         level = scene.level
-    
+
     if level == -1:
         level = old_level
         old_level = 0
     
     if old_level != level:
         match level:
+            case -2:
+                scene = LevelCreator()
             case 0:
                 scene = Menu()
             case 1: