mirror of
https://github.com/billsonnn/nitro-react.git
synced 2025-02-17 01:12:37 +01:00
Avatar updates
This commit is contained in:
parent
b04927df60
commit
eec32854ea
@ -21,7 +21,7 @@ export const AvatarEditorPaletteSetItem: FC<AvatarEditorPaletteSetItemProps> = p
|
||||
{
|
||||
colorItem.notify = null;
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
return (
|
||||
<NitroCardGridItemView itemColor={ colorItem.color } itemActive={ colorItem.isSelected } { ...rest }>
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { SaveWardrobeOutfitMessageComposer } from '@nitrots/nitro-renderer';
|
||||
import { FC, useCallback, useMemo } from 'react';
|
||||
import { Button } from 'react-bootstrap';
|
||||
import { GetAvatarRenderManager } from '../../../../api';
|
||||
import { GetAvatarRenderManager, GetSessionDataManager } from '../../../../api';
|
||||
import { SendMessageHook } from '../../../../hooks';
|
||||
import { NitroCardGridItemView } from '../../../../layout/card/grid/item/NitroCardGridItemView';
|
||||
import { NitroCardGridView } from '../../../../layout/card/grid/NitroCardGridView';
|
||||
@ -40,21 +40,23 @@ export const AvatarEditorWardrobeView: FC<AvatarEditorWardrobeViewProps> = props
|
||||
|
||||
const figures = useMemo(() =>
|
||||
{
|
||||
if(!savedFigures) return [];
|
||||
if(!savedFigures || !savedFigures.length) return [];
|
||||
|
||||
const items: JSX.Element[] = [];
|
||||
|
||||
savedFigures.forEach(([ figureContainer, gender ], index) =>
|
||||
{
|
||||
const clubLevel = GetAvatarRenderManager().getFigureClubLevel(figureContainer, gender);
|
||||
let clubLevel = 0;
|
||||
|
||||
if(figureContainer) clubLevel = GetAvatarRenderManager().getFigureClubLevel(figureContainer, gender);
|
||||
|
||||
items.push(
|
||||
<NitroCardGridItemView key={ index } className="flex-column justify-content-end">
|
||||
<NitroCardGridItemView key={ index } className="flex-column justify-content-end position-relative">
|
||||
{ figureContainer && <AvatarImageView figure={ figureContainer.getFigureString() } gender={ gender } direction={ 2 } /> }
|
||||
{ clubLevel > 0 && <CurrencyIcon type="hc" /> }
|
||||
{ (clubLevel > 0) && <CurrencyIcon className="position-absolute top-1 start-1" type="hc" /> }
|
||||
<div className="d-flex w-100 figure-button-container p-1">
|
||||
<Button variant="link" size="sm" className="w-100" onClick={ event => saveFigureAtWardrobeIndex(index) }>Save</Button>
|
||||
{ figureContainer && <Button variant="link" size="sm" className="w-100" onClick={ event => wearFigureAtIndex(index) }>Use</Button> }
|
||||
{ figureContainer && <Button variant="link" size="sm" className="w-100" onClick={ event => wearFigureAtIndex(index) } disabled={ (clubLevel > GetSessionDataManager().clubLevel) }>Use</Button> }
|
||||
</div>
|
||||
</NitroCardGridItemView>
|
||||
);
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { AvatarFigurePartType, FurnitureMannequinSaveLookComposer, FurnitureMannequinSaveNameComposer, FurnitureMultiStateComposer, IAvatarFigureContainer, NitroEvent, RoomEngineTriggerWidgetEvent, RoomObjectVariable } from '@nitrots/nitro-renderer';
|
||||
import { FC, KeyboardEvent, useCallback, useEffect, useState } from 'react';
|
||||
import { GetNitroInstance, GetRoomEngine, GetRoomSession, GetSessionDataManager, LocalizeText, RoomWidgetRoomObjectUpdateEvent } from '../../../../../api';
|
||||
import { GetAvatarRenderManager, GetNitroInstance, GetRoomEngine, GetRoomSession, GetSessionDataManager, LocalizeText, RoomWidgetRoomObjectUpdateEvent } from '../../../../../api';
|
||||
import { CreateEventDispatcherHook } from '../../../../../hooks/events/event-dispatcher.base';
|
||||
import { useRoomEngineEvent } from '../../../../../hooks/events/nitro/room/room-engine-event';
|
||||
import { NitroCardContentView, NitroCardHeaderView, NitroCardView } from '../../../../../layout';
|
||||
@ -45,7 +45,7 @@ export const FurnitureMannequinView: FC<{}> = props =>
|
||||
{
|
||||
if(mannequinData && !mannequinData.renderedFigure)
|
||||
{
|
||||
const figureContainer = GetNitroInstance().avatar.createFigureContainer(mannequinData.figure);
|
||||
const figureContainer = GetAvatarRenderManager().createFigureContainer(mannequinData.figure);
|
||||
loadMannequinFigure(figureContainer);
|
||||
}
|
||||
}, [loadMannequinFigure, mannequinData]);
|
||||
@ -96,8 +96,8 @@ export const FurnitureMannequinView: FC<{}> = props =>
|
||||
const gender = roomObject.model.getValue<string>(RoomObjectVariable.FURNITURE_MANNEQUIN_GENDER);
|
||||
const name = roomObject.model.getValue<string>(RoomObjectVariable.FURNITURE_MANNEQUIN_NAME);
|
||||
|
||||
const figureContainer = GetNitroInstance().avatar.createFigureContainer(figure);
|
||||
const clubLevel = GetNitroInstance().avatar.getFigureClubLevel(figureContainer, gender, parts);
|
||||
const figureContainer = GetAvatarRenderManager().createFigureContainer(figure);
|
||||
const clubLevel = GetAvatarRenderManager().getFigureClubLevel(figureContainer, gender, parts);
|
||||
|
||||
const mannequinData = new FurnitureMannequinData(widgetEvent.objectId, widgetEvent.category, name, figure, gender, clubLevel);
|
||||
|
||||
@ -133,11 +133,11 @@ export const FurnitureMannequinView: FC<{}> = props =>
|
||||
setMannequinData(mannequinData => new FurnitureMannequinData(mannequinData.objectId, mannequinData.category, value, mannequinData.figure, mannequinData.gender, mannequinData.clubLevel, mannequinData.renderedFigure));
|
||||
return;
|
||||
case 'load_figure':
|
||||
loadMannequinFigure(GetNitroInstance().avatar.createFigureContainer(GetNitroInstance().sessionDataManager.figure));
|
||||
loadMannequinFigure(GetAvatarRenderManager().createFigureContainer(GetNitroInstance().sessionDataManager.figure));
|
||||
setViewMode(MannequinViewMode.SAVE);
|
||||
return;
|
||||
case 'back':
|
||||
loadMannequinFigure(GetNitroInstance().avatar.createFigureContainer(mannequinData.figure));
|
||||
loadMannequinFigure(GetAvatarRenderManager().createFigureContainer(mannequinData.figure));
|
||||
setViewMode(MannequinViewMode.EDIT);
|
||||
return;
|
||||
case 'save_name':
|
||||
|
Loading…
x
Reference in New Issue
Block a user