コード例 #1
0
    def xml(self, parent=None, x=0, y=0):
        if parent is None:
            root = ET.Element('AnimatedTile')
        else:
            root = ET.SubElement(parent, 'AnimatedTile')

        root.set('Id', self.id_)
        root.set('Layer', self.layer.id_)

        if self.properties is not None and len(self.properties) > 0:
            properties = ET.SubElement(root, 'Properties')
            for key, value in self.properties.items():
                property_ = ET.SubElement(properties, 'Property')
                property_.set('key', conv(key))
                property_.text = conv(value)

        location = ET.SubElement(root, 'Location')
        location.set('x', conv(x))
        location.set('y', conv(y))

        frame_interval = ET.SubElement(root, 'FrameInterval')
        frame_interval.text = conv(self.frame_interval)

        tile_frames = ET.SubElement(root, 'TileFrames')
        for tile_frame in self.tile_frames:
            tile_frame.xml(tile_frames)
コード例 #2
0
ファイル: fez_level.py プロジェクト: parhelia512/xnb_parse
 def xml(self, parent):
     if parent is None:
         root = ET.Element('Trile')
     else:
         root = ET.SubElement(parent, 'Trile')
     root.set('name', self.name)
     root.set('cubemapPath', self.cubemap_path)
     root.set('immaterial', str(self.immaterial))
     root.set('seeThrough', str(self.see_through))
     root.set('thin', str(self.thin))
     root.set('forceHugging', str(self.force_hugging))
     if self.surface_type is not None:
         root.set('surfaceType', str(self.surface_type))
     if self.actor_settings_type is not None or self.actor_settings_face is not None:
         actor_settings_tag = ET.SubElement(root, 'ActorSettings')
         if self.actor_settings_type is not None:
             actor_settings_tag.set('type', str(self.actor_settings_type))
         if self.actor_settings_face is not None:
             actor_settings_tag.set('face', str(self.actor_settings_face))
     self.size.xml(ET.SubElement(root, 'Size'))
     self.offset.xml(ET.SubElement(root, 'Offset'))
     self.atlas_offset.xml(ET.SubElement(root, 'AtlasOffset'))
     if self.faces is not None:
         self.faces.xml(root, 'Faces', 'Face')
     if self.geometry is not None:
         self.geometry.xml(ET.SubElement(root, 'Geometry'))
     return root
コード例 #3
0
    def xml(self, parent=None, x=-1, y=-1):
        if parent is None:
            root = ET.Element('StaticTile')
        else:
            root = ET.SubElement(parent, 'StaticTile')

        root.set('Id', self.id_)
        root.set('Layer', self.layer.id_)

        if self.properties is not None and len(self.properties) > 0:
            properties = ET.SubElement(root, 'Properties')
            for key, value in self.properties.items():
                property_ = ET.SubElement(properties, 'Property')
                property_.set('key', conv(key))
                property_.text = conv(value)

        if x >= 0 and y >= 0:
            location = ET.SubElement(root, 'Location')
            location.set('x', conv(x))
            location.set('y', conv(y))

        blend_mode = ET.SubElement(root, 'BlendMode')
        blend_mode.text = conv(self._blend_mode)

        tilesheet = ET.SubElement(root, 'TileSheet')
        tilesheet.text = self.tilesheet.id_

        tile_index = ET.SubElement(root, 'TileIndex')
        tile_index.text = conv(self._tile_index)
コード例 #4
0
    def xml(self, parent=None):
        if parent is None:
            root = ET.Element('TileSheet')
        else:
            root = ET.SubElement(parent, 'TileSheet')

        root.set('Id', self.id_)
        root.set('Map', self.map_.id_)
        if self.description is not None:
            root.set('Description', self.description)
        if self.properties is not None:
            properties = ET.SubElement(root, 'Properties')
            for key, value in self.properties.items():
                property_ = ET.SubElement(properties, 'Property')
                property_.set('key', conv(key))
                property_.text = conv(value)

        if self.image_source is not None:
            root.set('ImageSource', self.image_source)
        if self.sheet_size is not None:
            self.sheet_size.xml(root, 'SheetSize')
        if self.tile_size is not None:
            self.tile_size.xml(root, 'TileSize')
        if self.margin is not None:
            self.margin.xml(root, 'Margin')
        if self.spacing is not None:
            self.spacing.xml(root, 'Spacing')
コード例 #5
0
ファイル: fez_level.py プロジェクト: parhelia512/xnb_parse
 def xml(self, parent=None):
     if parent is None:
         root = ET.Element('Level')
     else:
         root = ET.SubElement(parent, 'Level')
     root.set('flat', str(self.flat))
     root.set('skipPostprocess', str(self.skip_postprocess))
     root.set('baseDiffuse', str(self.base_diffuse))
     root.set('baseAmbient', str(self.base_ambient))
     root.set('haloFiltering', str(self.halo_filtering))
     root.set('blinkingAlpha', str(self.blinking_alpha))
     root.set('loops', str(self.loops))
     root.set('waterHeight', str(self.water_height))
     root.set('skyName', self.sky_name)
     root.set('fapFadeoutStart', str(self.fap_fadeout_start))
     root.set('fapFadeoutLength', str(self.fap_fadeout_length))
     root.set('descending', str(self.descending))
     root.set('rainy', str(self.rainy))
     root.set('lowPass', str(self.low_pass))
     root.set('quantum', str(self.quantum))
     if self.name is not None:
         root.set('name', self.name)
     size_tag = ET.SubElement(root, 'Size')
     self.size.xml(size_tag)
     if self.starting_position is not None:
         starting_position_tag = ET.SubElement(root, 'StartingPosition')
         self.starting_position.xml(starting_position_tag)
     if self.sequence_samples_path is not None:
         root.set('sequenceSamplesPath', self.sequence_samples_path)
     if self.gomez_halo_name is not None:
         root.set('gomezHaloName', self.gomez_halo_name)
     if self.water_type is not None:
         root.set('waterType', str(self.water_type))
     if self.trile_set_name is not None:
         root.set('trileSetName', self.trile_set_name)
     if self.volumes is not None:
         self.volumes.xml(root, 'Volumes')
     if self.scripts is not None:
         self.scripts.xml(root, 'Scripts')
     if self.song_name is not None:
         root.set('songName', self.song_name)
     if self.triles is not None:
         self.triles.xml(root, 'Triles')
     if self.art_objects is not None:
         self.art_objects.xml(root, 'ArtObjects')
     if self.background_planes is not None:
         self.background_planes.xml(root, 'BackgroundPlanes')
     if self.groups is not None:
         self.groups.xml(root, 'Groups')
     if self.nonplayer_characters is not None:
         self.nonplayer_characters.xml(root, 'NonplayerCharacters')
     if self.paths is not None:
         self.paths.xml(root, 'Paths')
     if self.muted_loops is not None:
         self.muted_loops.xml(root, 'MutedLoops')
     if self.ambience_tracks is not None:
         self.ambience_tracks.xml(root, 'AmbienceTracks')
     if self.node_type is not None:
         root.set('nodeType', str(self.node_type))
     return root
コード例 #6
0
    def xml(self, parent=None):
        if parent is None:
            root = ET.Element('Layer')
        else:
            root = ET.SubElement(parent, 'Layer')

        root.set('Id', self.id_)
        root.set('Map', self.map_.id_)
        root.set('Visible', conv(self.visible))

        if self.description is not None:
            root.set('Description', self.description)
        if self.properties is not None:
            properties = ET.SubElement(root, 'Properties')
            for key, value in self.properties.items():
                property_ = ET.SubElement(properties, 'Property')
                property_.set('key', conv(key))
                property_.text = conv(value)

        tilesheets = ET.SubElement(root, 'TileSheets')
        for tilesheet in self.tilesheets:
            sub_element = ET.SubElement(tilesheets, 'TileSheet')
            sub_element.set('Id', tilesheet.id_)

        if self.layer_size is not None:
            self.layer_size.xml(root, 'LayerSize')
        if self.tile_size is not None:
            self.tile_size.xml(root, 'TileSize')

        tiles = ET.SubElement(root, 'Tiles')
        for y, row in enumerate(self.tiles):
            for x, tile in enumerate(row):
                if tile is not None:
                    tile.xml(tiles, x, y)
コード例 #7
0
 def xml(self, parent=None):
     if parent is None:
         root = ET.Element('Song')
     else:
         root = ET.SubElement(parent, 'Song')
     root.set('filename', self.filename)
     root.set('duration', str(self.duration))
     return root
コード例 #8
0
ファイル: fez_level.py プロジェクト: parhelia512/xnb_parse
 def xml(self, parent=None):
     if parent is None:
         root = ET.Element('MapTree')
     else:
         root = ET.SubElement(parent, 'MapTree')
     if self.map_node is not None:
         self.map_node.xml(root)
     return root
コード例 #9
0
ファイル: fez_level.py プロジェクト: parhelia512/xnb_parse
 def xml(self, parent=None):
     if parent is None:
         root = ET.Element('TrileSet')
     else:
         root = ET.SubElement(parent, 'TrileSet')
     root.set('name', self.name)
     if self.triles is not None:
         self.triles.xml(root, 'Triles', 'TrileEntry')
     return root
コード例 #10
0
 def xml(self, parent=None):
     if parent is None:
         root = ET.Element('SoundEffect')
     else:
         root = ET.SubElement(parent, 'SoundEffect')
     root.set('loopStart', str(self.loop_start))
     root.set('loopLength', str(self.loop_length))
     root.set('duration', str(self.duration))
     return root
コード例 #11
0
    def xml(self, parent=None, xml_tag='Size'):
        if parent is None:
            root = ET.Element(xml_tag)
        else:
            root = ET.SubElement(parent, xml_tag)

        root.set('width', str(self.width))
        root.set('height', str(self.height))

        return root
コード例 #12
0
ファイル: fez_graphics.py プロジェクト: ZandrXandr/Fezzer-2
 def xml(self, parent=None):
     if parent is None:
         root = ET.Element('AnimatedTexturePC')
     else:
         root = ET.SubElement(parent, 'AnimatedTexturePC')
     root.set('width', str(self.width))
     root.set('height', str(self.height))
     root.set('actualWidth', str(self.actual_width))
     root.set('actualHeight', str(self.actual_height))
     if self.frames is not None:
         self.frames.xml(root, 'Frames')
     return root
コード例 #13
0
ファイル: fez_graphics.py プロジェクト: ZandrXandr/Fezzer-2
 def xml(self, parent=None):
     if parent is None:
         root = ET.Element('NpcMetadata')
     else:
         root = ET.SubElement(parent, 'NpcMetadata')
     root.set('avoidsGomez', str(self.avoids_gomez))
     root.set('walkSpeed', str(self.walk_speed))
     if self.sound_path is not None:
         root.set('soundPath', self.sound_path)
     if self.sound_actions is not None:
         self.sound_actions.xml(root, 'SoundActions')
     return root
コード例 #14
0
ファイル: fez_graphics.py プロジェクト: ZandrXandr/Fezzer-2
 def xml(self, parent=None):
     if parent is None:
         root = ET.Element('ArtObject')
     else:
         root = ET.SubElement(parent, 'ArtObject')
     root.set('name', self.name)
     root.set('noSilhouette', str(self.no_silhouette))
     self.size.xml(ET.SubElement(root, 'Size'))
     if self.actor_type is not None:
         root.set('actorType', str(self.actor_type))
     if self.geometry is not None:
         self.geometry.xml(root)
     return root
コード例 #15
0
 def xml(self, parent):
     if parent is None:
         root = ET.Element('BasicEffect')
     else:
         root = ET.SubElement(parent, 'BasicEffect')
     root.set('spec', str(self.spec))
     root.set('alpha', str(self.alpha))
     root.set('colorV', str(self.colour_v))
     self.texture.xml(ET.SubElement(root, 'Texture'))
     self.colour_d.xml(ET.SubElement(root, 'ColorD'))
     self.colour_e.xml(ET.SubElement(root, 'ColorE'))
     self.colour_s.xml(ET.SubElement(root, 'ColorS'))
     return root
コード例 #16
0
ファイル: fez_graphics.py プロジェクト: ZandrXandr/Fezzer-2
 def xml(self, parent=None):
     if parent is None:
         root = ET.Element('ArtObject')
     else:
         root = ET.SubElement(parent, 'ArtObject')
     root.set('name', self.name)
     root.set('cubemapPath', self.cubemap_path)
     root.set('noSilhouette', str(self.no_silhouette))
     self.size.xml(ET.SubElement(root, 'Size'))
     if self.actor_type is not None:
         root.set('actorType', str(self.actor_type))
     if self.geometry is not None:
         self.geometry.xml(root)
     if self.laser_outlets is not None:
         self.laser_outlets.xml(root, 'LaserOutlets')
     return root
コード例 #17
0
 def xml(self, parent=None):
     if parent is None:
         root = ET.Element('Video')
     else:
         root = ET.SubElement(parent, 'Video')
     if self.filename is not None:
         root.set('filename', self.filename)
     if self.duration is not None:
         root.set('duration', str(self.duration))
     if self.width is not None:
         root.set('width', str(self.width))
     if self.height is not None:
         root.set('height', str(self.height))
     if self.fps is not None:
         root.set('fps', str(self.fps))
     if self.video_soundtrack_type is not None:
         root.set('soundtrackType', str(self.video_soundtrack_type))
     return root
コード例 #18
0
ファイル: fez_music.py プロジェクト: ZandrXandr/Fezzer-2
 def xml(self, parent=None):
     if parent is None:
         root = ET.Element('TrackedSong')
     else:
         root = ET.SubElement(parent, 'TrackedSong')
     root.set('name', self.name)
     root.set('tempo', str(self.tempo))
     root.set('timeSignature', str(self.time_signature))
     if self.assemble_chord is not None:
         self.assemble_chord.xml(root)
     if self.notes is not None:
         self.notes.xml(root, 'Notes')
     if self.loops is not None:
         self.loops.xml(root, 'Loops')
     if self.random_ordering is not None:
         root.set('randomOrdering', str(self.random_ordering))
     if self.custom_ordering is not None:
         self.custom_ordering.xml(root, 'CustomOrdering', 'Order')
     return root
コード例 #19
0
 def xml(self, parent=None, xml_tag='List', xml_entry='Entry', attrib=None):
     if sys.version < '3':
         conv = unicode
     else:
         conv = str
     if parent is None:
         root = ET.Element(xml_tag)
     else:
         root = ET.SubElement(parent, xml_tag)
     for cur_value in self:
         if hasattr(cur_value, 'xml'):
             cur_value.xml(root)
         elif attrib is not None:
             cur_tag = ET.SubElement(root, xml_entry)
             cur_tag.set(attrib, conv(cur_value))
         else:
             cur_tag = ET.SubElement(root, xml_entry)
             cur_tag.text = conv(cur_value)
     return root
コード例 #20
0
ファイル: xna_system.py プロジェクト: ZandrXandr/Fezzer-2
 def xml(self, parent=None, xml_tag='List', xml_entry='Entry', attrib=None):
     if sys.version < '3':
         #noinspection PyUnresolvedReferences
         conv = unicode  # pylint: disable-msg=E0602
     else:
         conv = str
     if parent is None:
         root = ET.Element(xml_tag)
     else:
         root = ET.SubElement(parent, xml_tag)
     for cur_value in self:
         if hasattr(cur_value, 'xml'):
             cur_value.xml(root)
         elif attrib is not None:
             cur_tag = ET.SubElement(root, xml_entry)
             cur_tag.set(attrib, conv(cur_value))
         else:
             cur_tag = ET.SubElement(root, xml_entry)
             cur_tag.text = conv(cur_value)
     return root
コード例 #21
0
 def xml(self, parent=None):
     if parent is None:
         root = ET.Element('SpriteFont')
     else:
         root = ET.SubElement(parent, 'SpriteFont')
     root.set('width', str(self.texture.width))
     root.set('height', str(self.texture.height))
     root.set('hSpace', str(self.h_space))
     root.set('vSpace', str(self.v_space))
     if self.default_char is not None:
         root.set('defaultChar', self.default_char)
     if self.glyphs is not None:
         self.glyphs.xml(root, 'Glyphs')
     if self.cropping is not None:
         self.cropping.xml(root, 'Cropping')
     if self.kerning is not None:
         self.kerning.xml(root, 'Kerning')
     if self.char_map is not None:
         self.char_map.xml(root, 'CharMap', 'Char', 'c')
     return root
コード例 #22
0
    def xml(self):
        root = ET.Element('Map')

        root.set('Id', self.id_)
        if self.description is not None:
            root.set('Description', self.description)
        if self.properties is not None:
            properties = ET.SubElement(root, 'Properties')
            for key, value in self.properties.items():
                property_ = ET.SubElement(properties, 'Property')
                property_.set('key', conv(key))
                property_.text = conv(value)

        tilesheets = ET.SubElement(root, 'TileSheets')
        for tilesheet in self.tilesheets:
            tilesheet.xml(tilesheets)

        layers = ET.SubElement(root, 'Layers')
        for layer in self.layers:
            layer.xml(layers)
        return root
コード例 #23
0
 def xml(self, parent=None, xml_tag='Dict', xml_entry='Entry', attrib=None):
     if sys.version < '3':
         conv = unicode
     else:
         conv = str
     if parent is None:
         root = ET.Element(xml_tag)
     else:
         root = ET.SubElement(parent, xml_tag)
     for cur_key, cur_value in self.items():
         cur_tag = ET.SubElement(root, xml_entry)
         if hasattr(cur_key, 'xml') and not isinstance(cur_key, Enum):
             cur_key.xml(cur_tag)
         else:
             cur_tag.set('key', conv(cur_key))
         if hasattr(cur_value, 'xml'):
             cur_value.xml(cur_tag)
         elif attrib is not None:
             cur_tag.set(attrib, conv(cur_value))
         else:
             cur_tag.text = conv(cur_value)
     return root
コード例 #24
0
ファイル: fez_level.py プロジェクト: parhelia512/xnb_parse
 def xml(self, parent=None):
     if parent is None:
         root = ET.Element('Sky')
     else:
         root = ET.SubElement(parent, 'Sky')
     root.set('name', self.name)
     root.set('background', self.background)
     root.set('windSpeed', str(self.wind_speed))
     root.set('density', str(self.density))
     root.set('fogDensity', str(self.fog_density))
     root.set('verticalTiling', str(self.vertical_tiling))
     root.set('horizontalScrolling', str(self.horizontal_scrolling))
     root.set('layerBaseHeight', str(self.layer_base_height))
     root.set('interLayerVerticalDistance',
              str(self.inter_layer_vertical_distance))
     root.set('interLayerHorizontalDistance',
              str(self.inter_layer_horizontal_distance))
     root.set('horizontalDistance', str(self.horizontal_distance))
     root.set('verticalDistance', str(self.vertical_distance))
     root.set('layerBaseSpacing', str(self.layer_base_spacing))
     root.set('windParallax', str(self.wind_parallax))
     root.set('windDistance', str(self.wind_distance))
     root.set('cloudsParallax', str(self.clouds_parallax))
     root.set('shadowOpacity', str(self.shadow_opacity))
     root.set('foliageShadows', str(self.foliage_shadows))
     root.set('noPerFaceLayerXOffset', str(self.no_per_face_layer_x_offset))
     root.set('layerBaseXOffset', str(self.layer_base_x_offset))
     if self.shadows is not None:
         root.set('shadows', self.shadows)
     if self.stars is not None:
         root.set('stars', self.stars)
     if self.cloud_tint is not None:
         root.set('cloudTint', self.cloud_tint)
     if self.layers is not None:
         self.layers.xml(root, 'Layers')
     if self.clouds is not None:
         self.clouds.xml(root, 'Clouds', 'Cloud')
     return root