world.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:Turrican2Editor 作者: GitExl 项目源码 文件源码
def save(self):
        stream = StreamWrite.from_file(self._filename, Endianness.BIG)
        levels_not_saved = 0

        for level_index, level in enumerate(self._levels):
            if level.modified:

                if not level.can_save():
                    levels_not_saved += 1
                    continue

                # Write entities first.
                level.write_entities(stream)

                # Save level data.
                if level_index == 0:
                    level.save(stream)
                else:
                    filename = 'L{}-{}'.format(self._world_index + 1, level_index + 1)
                    game_dir = os.path.dirname(self._filename)
                    filename = os.path.join(game_dir, filename)

                    level_stream = StreamWrite.from_file(filename, Endianness.BIG)

                    if self._world_index == 2 and level_index == 1:
                        offset = 19620
                    else:
                        offset = 0
                    level.save(level_stream, offset)
                    level_stream.write_to_file(filename)

                # Save level header.
                stream.seek(self._level_offsets[level_index])
                level.save_header(stream)
                level.modified = False

        stream.write_to_file(self._filename)

        if levels_not_saved:
            wx.MessageBox('{} level(s) could not be saved.'.format(levels_not_saved), 'Levels not saved', wx.ICON_INFORMATION | wx.OK)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号