设为首页 加入收藏

TOP

【Spine】Spine Runtime for Delphi移植笔记(八) - spine.data(一)
2017-10-10 12:04:43 】 浏览:4504
Tags:Spine Runtime for Delphi 移植 笔记 spine.data
////////////////////////////////////////////////////////////////////////////////
//Generic delphi runtime v3.6 for Spine animation tool                        //
//Runtime port by cjk (hzi1980@163.com)                                       //
////////////////////////////////////////////////////////////////////////////////

unit spine.data;

interface

uses
  System.Classes, System.SysUtils, System.Generics.Collections,
  spine.types, spine.classes,
  spine.core.skin, spine.core.animation;

type
  TSkeletonData = class;
  TBoneData = class;
  TSlotData = class;
  TEventData = class;
  TAnimationStateData = class;
  TIkConstraintData = class;
  TTransformConstraintData = class;
  TPathConstraintData = class;

  TSkeletonData = class(TObject)
  private
    FPathConstraintDatas: TObjectList<TPathConstraintData>;
    FIkConstraintDatas: TObjectList<TIkConstraintData>;
    FTransformConstraintDatas: TObjectList<TTransformConstraintData>;
    FEventDatas: TObjectList<TEventData>;
    FBoneDatas: TObjectList<TBoneData>;
    FSkins: TObjectList<TSpineSkin>;
    FSlotDatas: TObjectList<TSlotData>;
    FAnimations: TObjectList<TSpineAnimation>;
  public
    Name: string;
    DefaultSkin: TSpineSkin;
    Width, Height: Single;
    Version: string;
    Hash: string;
    ImagesPath: string;
    FPS: Single;
    property BoneDatas: TObjectList<TBoneData> read FBoneDatas;
    property SlotDatas: TObjectList<TSlotData> read FSlotDatas;
    property Skins: TObjectList<TSpineSkin> read FSkins;
    property EventDatas: TObjectList<TEventData> read FEventDatas;
    property Animations: TObjectList<TSpineAnimation> read FAnimations;
    property IkConstraintDatas: TObjectList<TIkConstraintData> read FIkConstraintDatas;
    property TransformConstraintDatas: TObjectList<TTransformConstraintData> read FTransformConstraintDatas;
    property PathConstraintDatas: TObjectList<TPathConstraintData> read FPathConstraintDatas;
  public
    constructor Create;
    destructor Destroy; override;

    function FindBone(const ABoneDataName: string): TBoneData;
    function FindBoneIndex(const ABoneDataName: string): Integer;
    function FindSlot(const ASlotDataName: string): TSlotData;
    function FindSlotIndex(const ASlotDataName: string): Integer;
    function FindSkin(const ASkinName: string): TSpineSkin;
    function FintEvent(const AEventDataName: string): TEventData;
    function FindAnimation(const AAnimationName: string): TSpineAnimation;
    function FindIkConstraint(const AConstraintDataName: string): TIkConstraintData;
    function FindTransformConstraint(const AConstraintDataName: string): TTransformConstraintData;
    function FindPathConstraint(const AConstraintDataName: string): TPathConstraintData;
    function FindPathConstraintIndex(const AConstraintDataName: string): Integer;
  end;

  TBoneData = class(TObject)
  private
    FIndex: Integer;
    FName: string;
    FParent: TBoneData;
  public
    Length: Single;
    X, Y, Rotation, ScaleX, ScaleY, ShearX, ShearY: Single;
    TransformMode: TTransformMode;
    property Index: Integer read FIndex;
    property Name: string read FName;
    property Parent: TBoneData read FParent;
  public
    constructor Create(const AIndex: Integer; const AName: string; const AParent: TBoneData);
  end;

  TSlotData = class(TObject)
  private
    FIndex: Integer;
    FName: string;
    FBoneData:
首页 上一页 1 2 3 4 5 下一页 尾页 1/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇AdvStringGrid使用小结 下一篇firemonkey ListView DynamicAppe..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目