public void Draw(string FrameSetName, Vector2 Position, bool IsSwordsman) { FrameSet frm = FrameSetList[FrameSetName]; var FrameNo = frm.FrameStart + GameTimeProvider.Current.FrameTick % frm.FrameCount; var FrameWidth = Texture.Bounds.Width / ColumnCount; var FrameHeight = Texture.Bounds.Height / RowCount; var FrameRowNo = FrameNo / ColumnCount; var FrameColumnNo = FrameNo % ColumnCount; var Clip = new Rectangle(FrameColumnNo * FrameWidth, FrameRowNo * FrameHeight, FrameWidth, FrameHeight); var rect = new Rectangle() { X = (int)Position.X, Y = (int)Position.Y, Width = (int)(Clip.Width / Scale), Height = (int)(Clip.Height / Scale) }; if (IsSwordsman) { FrameWidth = 80; FrameHeight = 80; Clip = new Rectangle(FrameColumnNo * FrameWidth, FrameRowNo * FrameHeight, FrameWidth, FrameHeight); rect = new Rectangle() { X = (int)Position.X, Y = (int)Position.Y, Width = (int)(Clip.Width), Height = (int)(Clip.Height) }; } GraphicsProvider.Current.Draw(Texture, rect, Clip); }
public void LoadFrameSet(string Name, int FrameStart, int FrameCount) { var frm = new FrameSet(); frm.FrameStart = FrameStart; frm.FrameCount = FrameCount; FrameSetList[Name] = frm; }
public void Draw(string FrameSetName, Rectangle rect) { FrameSet frm = FrameSetList[FrameSetName]; var FrameNo = frm.FrameStart + GameTimeProvider.Current.FrameTick % frm.FrameCount; var FrameWidth = Texture.Bounds.Width / ColumnCount; var FrameHeight = Texture.Bounds.Height / RowCount; var FrameRowNo = FrameNo / ColumnCount; var FrameColumnNo = FrameNo % ColumnCount; var Clip = new Rectangle(FrameColumnNo * FrameWidth, FrameRowNo * FrameHeight, FrameWidth, FrameHeight); GraphicsProvider.Current.Draw(Texture, rect, Clip); }