]> Skullheadx's Git Forge - Pygame-Jam.git/commitdiff
Created dialogue ui
authorlbcmk <30442978+lbcmk@users.noreply.github.com>
Mon, 11 Jul 2022 03:15:18 +0000 (23:15 -0400)
committerlbcmk <30442978+lbcmk@users.noreply.github.com>
Mon, 11 Jul 2022 03:15:18 +0000 (23:15 -0400)
Game.py
UI/Dialogue.py [new file with mode: 0644]

diff --git a/Game.py b/Game.py
index bac0cb13e73e7cc5229105f715945c41d1ba0b83..57dbacc3898af042d4f93895e54b1b9d1862a868 100644 (file)
--- a/Game.py
+++ b/Game.py
@@ -18,6 +18,8 @@ from UI.PotionUI import PotionUI
 from Function.Portal import Transition
 from Function.Fade import fade
 
+from UI.Dialogue import DialogueUI
+
 class Game:
 
     def __init__(self, level):
@@ -42,11 +44,13 @@ class Game:
         self.level = level
         self.scene.level = self.level
 
-        self.Transition = Transition(-2, 0,0)
+        self.Transition = Transition()
         self.fade = self.Transition.fade
         self.fadeT = fade()
         self.next_level = 0
 
+        self.dialogue = DialogueUI()
+
     # def load_world(self, level):
 
     def update(self, delta):
@@ -70,7 +74,12 @@ class Game:
     def draw(self, surf):
         screen.fill((0, 191, 255))
 
-        self.Transition.draw(surf, self.player.position, [40, -250], 120, 625)
+        if(self.level == 1):
+            self.Transition.draw(surf, self.player.position, [40, -250], 120, 625)
+            self.dialogue.text = "enemy dialogue"
+            self.dialogue.draw(surf, get_display_point(self.enemies[0].position)[0] + self.enemies[0].width/2, get_display_point(self.enemies[0].position)[1])
+            self.dialogue.text = "player dialogue"
+            self.dialogue.draw(surf, get_display_point(self.player.position)[0] + self.player.width/2, get_display_point(self.player.position)[1])
 
         # screen.fill((255,255,255))
         # sky = pg.image.load("Assets/world/SKY.png")
@@ -86,9 +95,11 @@ class Game:
         self.healthBar.draw(surf, self.player.health)
         self.potionUI.draw(surf, self.player.potion_bag, self.player.potion_cooldown)
 
-        if self.player.dead:
-            self.scene.update()
-            self.scene.draw()
+        # print(self.player.get_collision_rect())s
+        # Debug Lines. DO NOT CROSS THEM!
+        pg.draw.line(surf, (255, 0, 0), -Setup.camera_offset, pg.Vector2(SCREEN_WIDTH, -Setup.camera_offset.y), 10)
+        pg.draw.line(surf, (255, 0, 0), -Setup.camera_offset, pg.Vector2(-Setup.camera_offset.x, SCREEN_HEIGHT), 10)
+        # self.pet.draw(surf)
 
         if(self.fade == True):
             self.fadeT.update(True)
@@ -101,11 +112,7 @@ class Game:
             self.Transition.fade = False
             self.next_level = self.level + 1
             self.level = -4
-            # self.__init__(self.level)
-            
 
-        # print(self.player.get_collision_rect())s
-        # Debug Lines. DO NOT CROSS THEM!
-        pg.draw.line(surf, (255, 0, 0), -Setup.camera_offset, pg.Vector2(SCREEN_WIDTH, -Setup.camera_offset.y), 10)
-        pg.draw.line(surf, (255, 0, 0), -Setup.camera_offset, pg.Vector2(-Setup.camera_offset.x, SCREEN_HEIGHT), 10)
-        # self.pet.draw(surf)
+        if self.player.dead:
+            self.scene.update()
+            self.scene.draw()
\ No newline at end of file
diff --git a/UI/Dialogue.py b/UI/Dialogue.py
new file mode 100644 (file)
index 0000000..1c1f7f1
--- /dev/null
@@ -0,0 +1,62 @@
+from Setup import *
+from CommonImports.colours import white, black
+from Function.createText import createText
+
+class DialogueUI:
+
+    def __init__(self):
+        self.text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed sit amet commodo leo."
+        self.old_text = ""
+        self.char = 0
+
+        self.skip = False
+        self.texts = []
+
+        self.drawText = []
+
+    def update(self):
+        return;
+
+    def draw(self, surf, X, Y):
+        
+        self.createDialogue()
+
+        for i in range(len(self.drawText)):
+            j = len(self.drawText) - i
+            text_rect = self.drawText[i].get_rect(center=(X, Y-(20*j)))
+            surf.blit(self.drawText[i], text_rect)
+    
+    def createDialogue(self):
+        if(self.text == self.old_text):
+            self.skip == True
+        else:
+            self.old_text == self.text
+            self.texts = []
+            self.drawText = []
+            self.char = 0
+            self.skip == False
+
+        if(self.skip == False):
+            iii = 0
+            while iii < len(self.text):
+                n = 30
+                if iii+n < len(self.text):
+                    self.texts.append(self.text[iii:iii+n])
+                else:
+                    self.texts.append(self.text[iii:len(self.text)])
+                iii += n
+
+            for i in range(len(self.texts) - 1):
+                text = self.texts[i].split(" ")[-1]
+                self.texts[i+1] = self.texts[i][len(self.texts[i]) - len(text):] + self.texts[i+1]
+                self.texts[i] = self.texts[i][:len(self.texts[i]) - len(text) - 1]
+
+        for i in range(len(self.texts)):
+            self.drawText.append(createText(0, 0, 20, white, "Regular", self.texts[i])[0])
+            # if(self.char/30 > i):
+            #     self.drawText.append(createText(0, 0, 30, white, "Regular", self.texts[i])[0])
+            # else:
+            #     self.drawText.append(createText(0, 0, 30, white, "Regular", self.texts[i][self.char%30:])[0])
+        # self.char += 1
+
+        return;