Ejemplo n.º 1
0
    def on_men_chunks_layer2_edit_activate(self):
        # This is controlled by a separate controller
        if self.parent.bma.number_of_layers < 2:
            self._no_second_layer()
        else:
            bpc_layer_to_use = 0
            mappings, static_tiles_provider, animated_tiles_providers, palettes_provider = self._get_chunk_editor_provider(
                bpc_layer_to_use, self.parent.bpc, self.parent.bpl,
                self.parent.bpas)
            cntrl = ChunkEditorController(MainController.window(), mappings,
                                          static_tiles_provider,
                                          palettes_provider,
                                          self.parent.pal_ani_durations,
                                          animated_tiles_providers,
                                          self.parent.bpa_durations)
            edited_mappings = cntrl.show()

            if edited_mappings:
                # TODO: Hardcoded chunk size
                new_chunk_size = int(len(edited_mappings) / 9)
                if new_chunk_size > self.parent.bpc.layers[
                        bpc_layer_to_use].chunk_tilemap_len:
                    self.parent.bpc.layers[
                        bpc_layer_to_use].chunk_tilemap_len = new_chunk_size
                self.parent.bpc.layers[
                    bpc_layer_to_use].tilemap = edited_mappings
                self.parent.reload_all()
                self.parent.mark_as_modified()
            del cntrl
Ejemplo n.º 2
0
 def on_men_chunks_layer1_edit_activate(self):
     all_tilemaps = list(
         itertools.chain.from_iterable(self.parent.dpc.chunks))
     static_tiles_provider = DungeonTilesProvider(self.parent.dpci)
     palettes_provider = DungeonPalettesProvider(self.parent.dpl,
                                                 self.parent.dpla)
     cntrl = ChunkEditorController(MainController.window(), all_tilemaps,
                                   static_tiles_provider, palettes_provider,
                                   self.parent.pal_ani_durations)
     edited_mappings = cntrl.show()
     if edited_mappings:
         self.parent.dpc.chunks = list(
             chunks(edited_mappings, DPC_TILING_DIM * DPC_TILING_DIM))
         self.parent.reload_all()
         self.parent.mark_as_modified()
     del cntrl