UNPKG

osbtools

Version:

A set of tools for working with osu! storyboards

37 lines (36 loc) 1.64 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const enums_1 = require("../types/enums"); const storyboardElement_1 = __importDefault(require("./storyboardElement")); class SbSprite extends storyboardElement_1.default { type = enums_1.ESbElementType.Sprite; constructor({ path, layer, origin, defaultPosition }) { super({ path, layer, origin, defaultPosition }); } getTitle(data) { const { layer, origin, path, defaultPosition } = data; return [this.type, layer, origin, `"${path}"`, defaultPosition.toString()].join(","); } toString() { const title = this.getTitle(this.getData()); const properties = this.getProperties(); const propertiesString = properties ? properties.map((property) => { const title = ` ${property.toString()}`; if ([enums_1.ESbElementProperty.L, enums_1.ESbElementProperty.T].includes(property.type)) { const groupProperties = property.data?.properties; const groupPropertiesString = groupProperties ? groupProperties.map((property) => ` ${property.toString()}`).join("\n") : ""; return [title, groupPropertiesString].filter(Boolean).join("\n"); } return title; }) : []; return [title, ...propertiesString].join("\n"); } } exports.default = SbSprite;