zp-figma-converter
Version:
Convert Figma designs to various code formats
315 lines • 7.14 kB
TypeScript
/**
* Define interfaces for game file structure
*/
/**
* Interface for CSD file structure
*/
export interface GameFile {
GameFile: {
PropertyGroup: {
'@_Name': string;
'@_Type': string;
'@_ID': string;
'@_Version': string;
};
Content: {
'@_ctype': string;
Content: {
Animation: {
'@_Duration': string;
'@_Speed': string;
};
ObjectData: any;
};
};
};
}
/**
* Interface for Animation data in CSD
*/
export interface AnimationData {
'@_Duration': string;
'@_Speed': string;
}
/**
* Interface for common node attributes
*/
export interface NodeAttributes {
'@_Name': string;
'@_ctype': string;
'@_Tag'?: string;
'@_ActionTag'?: string;
'@_X'?: string;
'@_Y'?: string;
'@_RotationSkewX'?: string;
'@_RotationSkewY'?: string;
'@_IconVisible'?: string;
'@_FlipX'?: string;
'@_FlipY'?: string;
'@_Alpha'?: string;
'@_LeftMargin'?: string;
'@_RightMargin'?: string;
'@_TopMargin'?: string;
'@_BottomMargin'?: string;
'@_HorizontalEdge'?: string;
'@_VerticalEdge'?: string;
'@_TouchEnable'?: string;
'@_FontSize'?: string;
'@_ButtonText'?: string;
'@_Scale9Enable'?: string;
'@_Scale9OriginX'?: string;
'@_Scale9OriginY'?: string;
'@_Scale9Width'?: string;
'@_Scale9Height'?: string;
'@_ShadowOffsetX'?: string;
'@_ShadowOffsetY'?: string;
'@_OutlineEnabled'?: string;
'@_ShadowEnabled'?: string;
'@_HorizontalAlignmentType'?: string;
'@_LabelText'?: string;
'@_ClipAble'?: string;
'@_BackColorAlpha'?: string;
'@_ComboBoxIndex'?: string;
'@_ColorAngle'?: string;
'@_DisplayState'?: string;
'@_SelectedState'?: string;
'@_CharWidth'?: string;
'@_CharHeight'?: string;
'@_StartChar'?: string;
'@_PercentInfo'?: string;
'@_Direction'?: string;
'@_PlaceHolderText'?: string;
'@_MaxLengthText'?: string;
'@_PasswordEnable'?: string;
'@_DirectionType'?: string;
'@_IsBounceEnabled'?: string;
'@_ItemMargin'?: string;
'@_VerticalType'?: string;
'@_CheckedState'?: string;
'@_ProgressInfo'?: string;
'@_IsCustomSize'?: string;
'@_MaxLengthEnable'?: string;
Size?: {
'@_X': string;
'@_Y': string;
};
AnchorPoint?: {
'@_ScaleX'?: string;
'@_ScaleY'?: string;
};
Position?: {
'@_X': string;
'@_Y': string;
};
Scale?: {
'@_ScaleX': string;
'@_ScaleY': string;
};
CColor?: {
'@_A': string;
'@_R': string;
'@_G': string;
'@_B': string;
};
PrePosition?: {
'@_X': string;
'@_Y': string;
};
PreSize?: {
'@_X': string;
'@_Y': string;
};
FileData?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
BlendFunc?: {
'@_Src': string;
'@_Dst': string;
};
FontResource?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
TextColor?: {
'@_A': string;
'@_R': string;
'@_G': string;
'@_B': string;
};
DisabledFileData?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
PressedFileData?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
NormalFileData?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
OutlineColor?: {
'@_A': string;
'@_R': string;
'@_G': string;
'@_B': string;
};
ShadowColor?: {
'@_A': string;
'@_R': string;
'@_G': string;
'@_B': string;
};
SingleColor?: {
'@_A': string;
'@_R': string;
'@_G': string;
'@_B': string;
};
FirstColor?: {
'@_A': string;
'@_R': string;
'@_G': string;
'@_B': string;
};
EndColor?: {
'@_A': string;
'@_R': string;
'@_G': string;
'@_B': string;
};
ColorVector?: {
'@_ScaleX': string;
'@_ScaleY': string;
};
NormalBackFileData?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
PressedBackFileData?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
DisableBackFileData?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
NodeNormalFileData?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
NodeDisableFileData?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
ImageFileData?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
DisplayState?: boolean;
BackGroundBoxData?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
BackGroundBoxDisabledData?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
FrontCrossData?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
FrontCrossDisabledData?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
LabelAtlasFileImage_CNB?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
FileNameData?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
BackGroundData?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
ProgressBarData?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
BallNormalData?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
BallPressedData?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
BallDisabledData?: {
'@_Type': string;
'@_Path': string;
'@_Plist': string;
};
PlaceHolderColor?: {
'@_A': string;
'@_R': string;
'@_G': string;
'@_B': string;
};
InnerNodeSize?: {
'@_Width': string;
'@_Height': string;
};
Children?: {
AbstractNodeData: NodeAttributes[];
};
[key: string]: any;
}
/**
* Interface for JSON structure of Cocos Studio
*/
export interface CocosStudioJson {
ID: string;
Version: string;
Name: string;
Type: string;
Content: {
Content: {
Animation: {
Duration: number;
Speed: number;
Timelines: any[];
ctype: string;
};
AnimationList: any[];
ObjectData: any;
UsedResources: string[];
ctype: string;
};
};
}
//# sourceMappingURL=game-file.d.ts.map