package funkin.data.dialogue; import funkin.data.animation.AnimationData; /** * A type definition for a specific speaker in a conversation. * It includes things like what sprite to use and its available animations. * @see https://lib.haxe.org/p/json2object/ */ typedef SpeakerData = { /** * Semantic version of the speaker data. */ public var version:String; /** * A human-readable name for the speaker. */ public var name:String; /** * The path to the asset to use for the speaker's sprite. */ public var assetPath:String; /** * Whether the sprite should be flipped horizontally. */ @:optional @:default(false) public var flipX:Bool; /** * Whether the sprite should be flipped vertically. */ @:optional @:default(false) public var flipY:Bool; /** * Whether to disable anti-aliasing for the dialogue box sprite. */ @:optional @:default(false) public var isPixel:Bool; /** * The offsets to apply to the sprite's position. */ @:optional @:default([0, 0]) public var offsets:Array; /** * The scale to apply to the sprite. */ @:optional @:default(1.0) public var scale:Float; /** * The available animations for the speaker. */ @:optional @:default([]) public var animations:Array; }