UNPKG

@osbjs/osbjs

Version:

a minimalist osu! storyboarding framework

35 lines (34 loc) 1.76 kB
import { CommandGroup } from './CommandGroup'; export declare class Trigger extends CommandGroup { triggerName: TriggerName; startTime: number; endTime: number; /** * Create a trigger group. * * Trigger loops can be used to trigger animations based on play-time events. * Although called loops, trigger loops only execute once when triggered. * Trigger loops are zero-based similar to normal loops. * If two overlap, the first will be halted and replaced by a new loop from the beginning. * If they overlap any existing storyboarded events, they will not trigger until those transformations are no in effect. * * Example: * ``` * // create a trigger group * const trigger = new Trigger("HitSoundClap", 1000, 3000) * trigger.Fade(0, 1000, 1, 0.5) // this means sprite will start to fade if any clap hitsound is played during the time 1000 and 3000. * // add trigger group to sprite * sprite.trigger(trigger) * ``` * @param triggerName The trigger condition. see https://osu.ppy.sh/wiki/en/Storyboard/Scripting/Compound_Commands. * @param startTime Time in milliseconds/timestamp at which the trigger is valid. * @param endTime Time in milliseconds/timestamp at which the trigger stops being valid. */ constructor(triggerName: TriggerName, startTime: number, endTime: number); } export declare type TriggerName = `HitSound${SampleSet}${AdditionsSampleSet}${Addition}${CustomSampleSet}`; declare type SampleSet = '' | 'All' | 'Normal' | 'Soft' | 'Drum'; declare type AdditionsSampleSet = SampleSet; declare type Addition = '' | 'Whistle' | 'Finish' | 'Clap'; declare type CustomSampleSet = number | ''; export {};