def draw_message(self): if event.message != self.current_message: self.current_message = event.message self.message_label.text = event.message self.message_label.font_size = event.message_size xa = self.message_label.content_width // 2 + 20 ya = self.message_label.content_height // 2 + 5 gl.glLineWidth(3.0) gl.glPointSize(1.0) draw.set_color(0, 0, 0, 0.8) draw.rect( self.message_label.x - xa, self.message_label.y - ya, self.message_label.x + xa, self.message_label.y + ya ) draw.set_color(0, 0, 0, 1) draw.rect_outline( self.message_label.x - xa, self.message_label.y - ya, self.message_label.x + xa, self.message_label.y + ya ) draw.points( ( self.message_label.x - xa, self.message_label.y - ya, self.message_label.x + xa, self.message_label.y - ya, self.message_label.x + xa, self.message_label.y + ya, self.message_label.x - xa, self.message_label.y + ya, ) ) self.message_label.draw()
def draw(self, dt=0): if self.blackout: draw.set_color(0, 0, 0, 1) draw.rect(0, 0, gamestate.norm_w, gamestate.norm_h) return self.env.behind.blit(0, 0, 0) with camera.apply_camera(self.camera): if self.main_group: self.main_group.x = self.x_offset self.main_group.y = self.y_offset with pushmatrix(pyglet.gl.glTranslatef, self.x_offset, self.y_offset, 0): self.env.draw() self.shadow.draw() self.batch.draw() self.env.draw_overlay() self.convo.draw() convos_to_remove = set() for c in self.background_convos: c.draw() if not c.active: convos_to_remove.add(c) for c in convos_to_remove: c.delete() self.background_convos.remove(c)
def draw(self, dt=0): if self.blackout: draw.set_color(0,0,0,1) draw.rect(0, 0, gamestate.norm_w, gamestate.norm_h) return self.env.behind.blit(0,0,0) with camera.apply_camera(self.camera): if self.main_group: self.main_group.x = self.x_offset self.main_group.y = self.y_offset with pushmatrix(pyglet.gl.glTranslatef, self.x_offset, self.y_offset, 0): self.env.draw() self.shadow.draw() self.batch.draw() self.env.draw_overlay() self.convo.draw() convos_to_remove = set() for c in self.background_convos: c.draw() if not c.active: convos_to_remove.add(c) for c in convos_to_remove: c.delete() self.background_convos.remove(c)
def draw_ai_message(self): if event.ai_message != self.current_ai_message: self.current_ai_message = event.ai_message self.ai_message_label.text = event.ai_message w = self.ai_message_label.content_width mx = self.ai_message_label.x my = self.ai_message_label.y gl.glLineWidth(3.0) gl.glPointSize(1.0) draw.set_color(0, 0, 0, 0.8) draw.rect(mx - 80, 10, mx + w + 10, 100) self.ai_message_label.draw() draw.set_color(1, 1, 1, 1) if event.ai_head != None: event.ai_head.blit(mx - 80, 17)
def draw_hud(self): if event.message_countdown > 0: self.draw_message() if event.ai_message_countdown > 0: self.draw_ai_message() if event.active_countdown > 0: self.draw_countdown() self.fps_display.draw() if self.fade_countdown > 0: draw.set_color(1, 1, 1, self.fade_countdown / 0.5) draw.rect(0, 0, env.norm_w, env.norm_h) self.fade_countdown -= env.dt if self.fade_countdown < 0: self.fade_countdown = 0 if event.fade_out_countdown != -100 or event.stay_black: draw.set_color(0, 0, 0, min(1, event.fade_out_countdown * 2)) if event.stay_black: draw.set_color(0, 0, 0, 1) draw.rect(0, 0, env.norm_w, env.norm_h)