public Sprite(XmlDocument doc, XmlElement parent, Resources res) { Resources = res; Sheet = res.SpriteSheets[(string)XmlHelper.GetSimpleNodeContent<string>("Sheet", parent, "")]; SourceRect = XmlHelper.GetRectangle("SourceRect", parent); Origin = XmlHelper.GetPoint("Origin", parent); }
public Animation(XmlDocument doc, XmlElement parent, Resources res) { Resources = res; //SpriteSheet = Resources.GetSpriteSheet((string)XmlHelper.GetSimpleNodeContent<string>("Sheet", parent, "")); FrameTime = (float)XmlHelper.GetSimpleNodeContent<float>("FrameTime", parent, 1); XmlElement spritesElem = XmlHelper.GetElement("Sprites", parent); if (spritesElem != null) { Sprites = new Sprite[spritesElem.ChildNodes.Count]; for (int i = 0; i < Sprites.Length; i++) Sprites[i] = Resources.GetSprite((string)XmlHelper.GetSimpleNodeContent<string>("S" + i, parent, "")); } else { Sprites = new Sprite[1]; Sprites[0] = Resources.GetSprite(""); } IsLooping = (bool)XmlHelper.GetSimpleNodeContent<bool>("IsLooping", parent, true); SpriteEffect = (SpriteEffects)Enum.Parse(typeof(SpriteEffects), (string)XmlHelper.GetSimpleNodeContent<string>("Effect", parent, "None")); if (FrameTime == 0) FrameTime = 1; }
public Sprite(SpriteSheet sheet, Rectangle sourceRect, Point origin, Resources res) { Resources = res; Sheet = sheet; SourceRect = sourceRect; Origin = origin; }
public Sprite(SpriteSheet sheet, Rectangle sourceRect, Resources res) { Resources = res; Sheet = sheet; SourceRect = sourceRect; Origin = Point.Zero; }
public AddTileScreen(ScreenManager manager, Resources resources) : base(manager) { OpeningTransition = new NoneTransition(Transition.Types.Opening); ClosingTransition = new NoneTransition(Transition.Types.Closing); IsSubmitted = false; Resources = resources; }
public Animation(Resources res, string[] spritesKey, float frameTime, bool isLooping = true) { Resources = res; FrameTime = frameTime; IsLooping = isLooping; SetSprites(spritesKey); if (FrameTime == 0) FrameTime = 1; }
public AddAnimationScreen(ScreenManager manager, Resources resources) : base(manager) { OpeningTransition = new NoneTransition(Transition.Types.Opening); ClosingTransition = new NoneTransition(Transition.Types.Closing); IsSubmitted = false; Resources = resources; animCurrentlyBuilding = new Animation(Resources, new string[] { }, 1, true); animPlayer = new AnimationPlayer(); }
private void Load(XmlDocument doc, XmlElement parent) { string path = (string)XmlHelper.GetSimpleNodeContent<string>("Resources", parent, "resources.xml"); Resources = new Resources(this, path); Tile.StaticLoad(doc, parent, this); if (XmlHelper.HasChild("Tiles", parent)) { XmlElement tilesElem = XmlHelper.GetElement("Tiles", parent); foreach (XmlElement tileElem in tilesElem.ChildNodes) { string nodeName = tileElem.Name; string[] tab = nodeName.Split('_'); if (tab[0] == "Loc") { int x = int.Parse(tab[1]); int y = int.Parse(tab[2]); if (x < 0 || x >= Width) continue; if (y < 0 || y >= Height) continue; Type type = this.GetType().Assembly.GetType(typeof(Tile).Namespace + "." + (string)XmlHelper.GetSimpleNodeContent<string>("Type", tileElem, "")); if (type == null) continue; LocatedTile locTile = (LocatedTile)type.GetConstructor(new Type[] { typeof(World), typeof(int), typeof(int) }).Invoke(new object[] { this, x, y }); locTile.Load(doc, tileElem, this); SetTile(x, y, locTile); } else if (tab[0] == "UnLoc") { string tileId = tileElem.FirstChild.Value; int x = int.Parse(tab[1]); int y = int.Parse(tab[2]); if (x < 0 || x >= Width) continue; if (y < 0 || y >= Height) continue; SetTile(x, y, Tile.UnLocatedTile[tileId]); } } } if (XmlHelper.HasChild("Entities", parent)) { Entities = new Dictionary<int, Entity>(); XmlElement entitiesElem = XmlHelper.GetElement("Entities", parent); foreach (XmlElement entityElem in entitiesElem.ChildNodes) { Entity entity = Entity.Unserialize(doc, entityElem, this); int id; bool good = int.TryParse(entityElem.Name.TrimStart('E'), out id); if (entity != null && good) Entities.Add(id, entity); } } }