/// <summary> /// Load object from XML-file /// </summary> /// <param name="reader">Load object from XML-stream</param> public override void ReadXml(System.Xml.XmlReader reader) { reader.MoveToContent(); _width = Int32.Parse(reader.GetAttribute("width")); _height = Int32.Parse(reader.GetAttribute("height")); Boolean isEmptyElement = reader.IsEmptyElement; if (isEmptyElement) return; reader.ReadStartElement("WallTiles"); reader.ReadStartElement("walls"); while ((reader.NodeType != System.Xml.XmlNodeType.EndElement) && (reader.NodeType != System.Xml.XmlNodeType.None)) { while (reader.NodeType == System.Xml.XmlNodeType.Whitespace) reader.Read(); TileObject temp = new TileObject(_content, _width, _height); Backend.WallType _type = Backend.WallType.Normal; if (reader.GetAttribute("Type") != null) _type = (Backend.WallType)Enum.Parse(typeof(Backend.WallType), reader.GetAttribute("Type").ToString()); WallDir _id = (WallDir)Enum.Parse(typeof(WallDir), reader.GetAttribute("Direction").ToString()); _textures[(int)_type * 100 + (int)_id].Clear(); _textures[(int)_type * 100 + (int)_id].ReadXml(reader); } reader.ReadEndElement(); while ((reader.NodeType != System.Xml.XmlNodeType.EndElement) && (reader.NodeType != System.Xml.XmlNodeType.None)) reader.Read(); reader.ReadEndElement(); }
public MapEffect(TileObject animation, Backend.Coords position, int scale = 3) { _position = position; _animation = animation; }
public void Draw(SpriteBatch _spriteBatch, TileObject animation) { _spriteBatch.Draw(animation.animationTexture, new Rectangle(_current.x + 48, _current.y + 16, animation.animationRect.Width, animation.animationRect.Height), animation.animationRect, Color.White); }
/// <summary> /// Load object from XML-file /// </summary> /// <param name="reader">Load object from XML-stream</param> public virtual void ReadXml(System.Xml.XmlReader reader) { reader.MoveToContent(); _width = Int32.Parse(reader.GetAttribute("width")); _height = Int32.Parse(reader.GetAttribute("height")); Boolean isEmptyElement = reader.IsEmptyElement; if (isEmptyElement) return; reader.ReadStartElement("TileSet"); reader.Read(); if (isEmptyElement) return; while ((reader.NodeType != System.Xml.XmlNodeType.EndElement) && (reader.NodeType != System.Xml.XmlNodeType.None)) { TileObject temp = new TileObject(_content, _width, _height); int _id = Int32.Parse(reader.GetAttribute("ID").ToString()); while (_id > _textures.Count - 1) { _textures.Add(new TileObject(_content, _width, _height)); } _textures[_id].ReadXml(reader); } reader.ReadEndElement(); while ((reader.NodeType != System.Xml.XmlNodeType.EndElement) && (reader.NodeType != System.Xml.XmlNodeType.None)) reader.Read(); if (reader.NodeType == System.Xml.XmlNodeType.EndElement) reader.ReadEndElement(); }
/// <summary> /// Load object from XML-file /// </summary> /// <param name="reader">Load object from XML-stream</param> public override void ReadXml(System.Xml.XmlReader reader) { reader.MoveToContent(); _width = Int32.Parse(reader.GetAttribute("width")); _height = Int32.Parse(reader.GetAttribute("height")); Boolean isEmptyElement = reader.IsEmptyElement; if (isEmptyElement) return; reader.ReadStartElement("ActorView"); reader.Read(); while ((reader.NodeType != System.Xml.XmlNodeType.EndElement) && (reader.NodeType != System.Xml.XmlNodeType.None)) { TileObject temp = new TileObject(_content, _width, _height); Backend.Activity acti = (Backend.Activity)Enum.Parse(typeof(Backend.Activity), reader.GetAttribute("Activity").ToString()); Backend.Direction dir = (Backend.Direction)Enum.Parse(typeof(Backend.Direction), reader.GetAttribute("Direction").ToString()); _textures[(int)acti * 8 + (int)dir].ReadXml(reader); _textures[(int)acti * 8 + (int)dir].loop = ((acti == Backend.Activity.Walk)); } reader.ReadEndElement(); while ((reader.NodeType != System.Xml.XmlNodeType.EndElement) && (reader.NodeType != System.Xml.XmlNodeType.None)) reader.Read(); if (reader.NodeType == System.Xml.XmlNodeType.EndElement) reader.ReadEndElement(); }