mirror of
https://github.com/Phantop/LADXHD.git
synced 2024-11-01 04:14:22 +00:00
58 lines
1.4 KiB
C#
58 lines
1.4 KiB
C#
using System;
|
|
using Microsoft.Xna.Framework;
|
|
|
|
namespace ProjectZ.InGame.GameObjects.Base
|
|
{
|
|
public class SheetAnimation
|
|
{
|
|
public AFrame[] Frames = new AFrame[0];
|
|
|
|
public string Id;
|
|
public string NextAnimation;
|
|
public int LoopCount;
|
|
|
|
public SheetAnimation(string id, int loopCount, params AFrame[] frames)
|
|
{
|
|
Id = id;
|
|
LoopCount = loopCount;
|
|
Frames = frames;
|
|
}
|
|
}
|
|
|
|
public class AFrame
|
|
{
|
|
public ASprite[] Sprites;
|
|
|
|
public int FrameTime
|
|
{
|
|
get => (int)Math.Round(FrameTimeFps * 1000 / 60f);
|
|
set => FrameTimeFps = (int)Math.Round(value * 60 / 1000f);
|
|
}
|
|
|
|
// 1 => shown for 1 frame (if the game runs with 60fps)
|
|
// 2 => shown for 2 frames
|
|
public int FrameTimeFps { get; set; }
|
|
|
|
public AFrame(int frameTimeFps, params ASprite[] sprites)
|
|
{
|
|
FrameTimeFps = frameTimeFps;
|
|
Sprites = sprites;
|
|
}
|
|
}
|
|
|
|
public class ASprite
|
|
{
|
|
public Point Offset;
|
|
|
|
public bool MirroredV;
|
|
public bool MirroredH;
|
|
|
|
public ASprite(int offsetX, int offsetY, bool mirroredV = false, bool mirroredH = false)
|
|
{
|
|
Offset = new Point(offsetX, offsetY);
|
|
MirroredV = mirroredV;
|
|
MirroredH = mirroredH;
|
|
}
|
|
}
|
|
}
|