using System; using System.Collections.Frozen; using System.Collections.Generic; using System.Collections.Immutable; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Spine.SpineWrappers { public interface ISkeleton { /// /// 物理约束 /// public enum Physics { None, Reset, Update, Pose } /// /// R /// public float R { get; set; } /// /// G /// public float G { get; set; } /// /// B /// public float B { get; set; } /// /// A /// public float A { get; set; } /// /// 横坐标 /// public float X { get; set; } /// /// 纵坐标 /// public float Y { get; set; } /// /// 水平缩放, 负数时会翻转 /// public float ScaleX { get; set; } /// /// 垂直缩放, 负数时会翻转 /// public float ScaleY { get; set; } /// /// 所有骨骼按顺序 /// public ImmutableArray Bones { get; } /// /// 所有骨骼按名称 /// public FrozenDictionary BonesByName { get; } /// /// 所有插槽按顺序 /// public ImmutableArray Slots { get; } /// /// 所有插槽按名称 /// public FrozenDictionary SlotsByName { get; } /// /// 皮肤, 可以设置 null 值清除皮肤 /// public ISkin? Skin { get; set; } /// /// 遍历渲染时槽顺序 /// public IEnumerable IterDrawOrder(); /// /// 更新附件约束等的缓存 /// public void UpdateCache(); /// /// 更新变换 /// public void UpdateWorldTransform(Physics physics); /// /// 重置所有参数至初始值 /// public void SetToSetupPose(); /// /// 重置所有骨骼参数至初始值 /// public void SetBonesToSetupPose(); /// /// 重置所有插槽参数至初始值 /// public void SetSlotsToSetupPose(); /// /// 更新时间 /// public void Update(float delta); /// /// 获取当前状态包围盒 /// public void GetBounds(out float x, out float y, out float w, out float h); } }