kshoot-tools
Version:
A collection of tools related to KSH and KSON chart files of K-Shoot Mania
47 lines (46 loc) • 1.45 kB
TypeScript
import { type CanvasRenderingContext2D } from 'canvas';
import * as kshoot from 'kshoot';
export interface RadarConstructorChartArgs {
chart: kshoot.Chart;
timing?: kshoot.Timing;
}
export interface RadarConstructorManualArgs {
stat: RadarStat;
difficulty?: string;
level?: string | number;
}
export type RadarConstructorArgs = RadarConstructorChartArgs | RadarConstructorManualArgs;
export interface RadarStat {
notes: number;
peak: number;
tsumami: number;
one_hand: number;
hand_trip: number;
tricky: number;
}
export declare const RadarStat: Readonly<{
rawFromChart(chart: kshoot.Chart, timing?: kshoot.Timing): RadarStat;
fromRaw(radar_stat: RadarStat): RadarStat;
fromChart(chart: kshoot.Chart, timing?: kshoot.Timing): RadarStat;
clamp(radar_stat: RadarStat): RadarStat;
createEmpty(): RadarStat;
toString(radar_stat: RadarStat, no_round?: boolean): string;
}>;
export interface Shape {
width: number;
height: number;
size: number;
}
export type Params = unknown;
export declare class Radar {
shape: Shape;
stat: RadarStat;
difficulty?: string;
level?: string;
constructor(args: RadarConstructorArgs);
renderBackground(ctx: CanvasRenderingContext2D): void;
toString(): string;
renderRadar(ctx: CanvasRenderingContext2D): void;
renderForeground(ctx: CanvasRenderingContext2D): void;
render(params: Params): Promise<Buffer>;
}