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)
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
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)
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')
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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