LADXHD/InGame/GameObjects/Base/Animation/Animation.cs
2023-12-14 17:21:22 -05:00

52 lines
1.2 KiB
C#

using System;
using Microsoft.Xna.Framework;
namespace ProjectZ.InGame.GameObjects.Base
{
public class Animation
{
public Frame[] Frames = new Frame[0];
public Point Offset;
public string Id;
public string NextAnimation;
public int AnimationLeft = 0;
public int AnimationRight = 0;
public int AnimationTop = 0;
public int AnimationBottom = 0;
public int AnimationWidth = 0;
public int AnimationHeight = 0;
public int LoopCount;
public Animation(string id)
{
Id = id.ToLower();
}
}
public class Frame
{
public Rectangle SourceRectangle;
public Rectangle CollisionRectangle;
public Point Offset;
public bool MirroredV;
public bool MirroredH;
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; }
}
}