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 void Add(string name, SpriteSheet sheet) { if (!SpriteSheets.ContainsKey(name)) SpriteSheets.Add(name, sheet); }
public string GetName(SpriteSheet sheet) { if (SpriteSheets.ContainsValue(sheet)) return SpriteSheets.Where(pair => pair.Value == sheet).First().Key; return ""; }
public override void Update(GameTime gameTime, bool isInForeground) { base.Update(gameTime, isInForeground); if (!isInForeground) return; panel.Update(gameTime); if (lastElementSelected != tree.SelectedElement && tree.SelectedElement.IsFile) textureDrawer.Texture = Manager.Game.Content.Load<Texture2D>(tree.SelectedElement.Path.Substring(8)); if (submitButton.IsPressed()) { IsSubmitted = true; Manager.CloseScreen(); } if (addSpriteButton.IsPressed() && textureDrawer.SelectedRectangle != null && textureDrawer.SelectedPoint != null) { SpriteSheet sheet = Resources.GetSpriteSheet(tree.SelectedElement.Path.Split('/', '\\').Last()); if (!Resources.SpriteSheets.ContainsKey(tree.SelectedElement.Path.Split('/', '\\').Last())) { sheet = new SpriteSheet(Manager.Game, tree.SelectedElement.Path.Substring(8)); Resources.Add(tree.SelectedElement.Path.Split('/', '\\').Last(), sheet); } Rectangle r = textureDrawer.SelectedRectangle.Value; Point origin = new Point((int)textureDrawer.SelectedPoint.Value.X - r.Location.X, (int)textureDrawer.SelectedPoint.Value.Y - r.Location.Y); Resources.Add(addSpriteText.Text, new Sprite(sheet, (Rectangle)textureDrawer.SelectedRectangle, origin, Resources)); } Vector2 vec = textureDrawer.ConvertScreenToPicture(new Vector2(Input.X, Input.Y)); coordinate.Text = "X : " + vec.X + " / Y : " + vec.Y; lastElementSelected = tree.SelectedElement; }