class GerenciadorFase(object): DUMMY_FUNDO = pygame.Surface((800, 600)) DUMMY_FUNDO.fill((65, 65, 65)) def __init__(self): self.__fase_atual = Fase(-1, None, self.DUMMY_FUNDO, [], [], [], [], "no_img") self.__fs = FabricaFases() self.__ge = GerenciadorEntidade(self, self.__fs, self.__fase_atual) self.__lista_fases = [] self.__lista_fases_original = [] def iniciar(self, nome): self.__carregar_fases(nome) self.__ge.iniciar(self.__fase_atual) entidades = [] if self.__fase_atual: for plat in self.get_plataformas(): entidades.append(plat) for ini in self.get_inimigos(): entidades.append(ini) for ene in self.get_energias(): entidades.append(ene) for moe in self.get_moedas(): entidades.append(moe) p = self.get_jogador_ref() if p: entidades.append(p) return entidades, self.__fase_atual return None def __adicionar_fase(self, fase): self.__lista_fases_original.append(fase.clonar()) def __carregar_fases(self, nome): arquivos = glob.glob("./Fases/*.gload") print(arquivos) for arquivo in arquivos: if "Fases" in arquivo and nome in arquivo: fase = self.__fs.criar_fase( self.__fs.carregar_arquivo(arquivo)) self.__adicionar_fase(fase) self.__set_fase_atual(fase) break def desenhar_fundo(self, tela): if not self.__fase_atual: return tela.blit(self.__fase_atual.get_fundo(), (0, 0)) def __set_fase_atual(self, fase): self.__fase_atual = fase def get_gerenciador_entidades(self): return self.__ge def get_fabrica_fases(self): return self.__fs def get_fase_atual(self): return self.__fase_atual def get_id(self): return self.__fase_atual.get_id() def get_fundo(self): return self.__fase_atual.get_fundo() def get_fases(self): return self.__lista_fases def get_jogador_ref(self): return self.__fase_atual.get_jogador_ref() def get_jogador(self): return self.__fase_atual.get_jogador() def get_plataformas_ref(self): return self.__fase_atual.get_plataformas_ref() def get_plataformas(self): return self.__fase_atual.get_plataformas() def get_energias_ref(self): return self.__fase_atual.get_energias_ref() def get_energias(self): return self.__fase_atual.get_energias() def get_inimigos_ref(self): return self.__fase_atual.get_inimigos_ref() def get_inimigos(self): return self.__fase_atual.get_inimigos() def get_moedas_ref(self): return self.__fase_atual.get_moedas_ref() def get_moedas(self): return self.__fase_atual.get_moedas()