mirror of
https://github.com/duckietm/Nitro-V3.git
synced 2026-06-20 07:26:19 +00:00
f09bb7e67c
- ChooserSelectionVisualizer: sprite.blendMode is BLEND_MODES (string enum in Pixi v8: 'normal' | 'add' | 'multiply' | ...). The legacy Pixi numeric enum compared against '=== 1' (ADD); switch to '=== "add"'. - MannequinUtilities.MANNEQUIN_FIGURE was inferred as (string | number | number[])[]: the 'hd' / 99999 / [99998] triple needs to be a typed tuple [string, number, number[]] so the figureContainer.updatePart(string, number, number[]) call resolves.
39 lines
1.6 KiB
TypeScript
39 lines
1.6 KiB
TypeScript
import { AvatarFigurePartType, GetAvatarRenderManager, IAvatarFigureContainer } from '@nitrots/nitro-renderer';
|
|
|
|
export class MannequinUtilities
|
|
{
|
|
public static MANNEQUIN_FIGURE: [ string, number, number[] ] = [ 'hd', 99999, [ 99998 ] ];
|
|
public static MANNEQUIN_CLOTHING_PART_TYPES = [
|
|
AvatarFigurePartType.CHEST_ACCESSORY,
|
|
AvatarFigurePartType.COAT_CHEST,
|
|
AvatarFigurePartType.CHEST,
|
|
AvatarFigurePartType.LEGS,
|
|
AvatarFigurePartType.SHOES,
|
|
AvatarFigurePartType.WAIST_ACCESSORY
|
|
];
|
|
|
|
public static getMergedMannequinFigureContainer(figure: string, targetFigure: string): IAvatarFigureContainer
|
|
{
|
|
const figureContainer = GetAvatarRenderManager().createFigureContainer(figure);
|
|
const targetFigureContainer = GetAvatarRenderManager().createFigureContainer(targetFigure);
|
|
|
|
for(const part of this.MANNEQUIN_CLOTHING_PART_TYPES) figureContainer.removePart(part);
|
|
|
|
for(const part of targetFigureContainer.getPartTypeIds()) figureContainer.updatePart(part, targetFigureContainer.getPartSetId(part), targetFigureContainer.getPartColorIds(part));
|
|
|
|
return figureContainer;
|
|
}
|
|
|
|
public static transformAsMannequinFigure(figureContainer: IAvatarFigureContainer): void
|
|
{
|
|
for(const part of figureContainer.getPartTypeIds())
|
|
{
|
|
if(this.MANNEQUIN_CLOTHING_PART_TYPES.indexOf(part) >= 0) continue;
|
|
|
|
figureContainer.removePart(part);
|
|
}
|
|
|
|
figureContainer.updatePart((this.MANNEQUIN_FIGURE[0]), (this.MANNEQUIN_FIGURE[1]), (this.MANNEQUIN_FIGURE[2]));
|
|
};
|
|
}
|