Skip to content

Commit

Permalink
mark selected traits
Browse files Browse the repository at this point in the history
  • Loading branch information
memelotsqui committed Dec 10, 2023
1 parent b4ef1ab commit 8a5889d
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 19 deletions.
6 changes: 6 additions & 0 deletions src/components/Editor.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ export default function Editor({uploadTextureURL, uploadVRMURL,confirmDialog,ani
//const [groupTraits, setGroupTraits] = React.useState([])
const [traits, setTraits] = React.useState(null)
const [traitGroupName, setTraitGroupName] = React.useState("")
const [selectedTraitID, setSelectedTraitID] = React.useState(null)

// options are selected by random or start
useEffect(() => {
Expand All @@ -81,11 +82,13 @@ export default function Editor({uploadTextureURL, uploadVRMURL,confirmDialog,ani
if (traitGroupName !== traitGroup.trait){
setTraits(characterManager.getTraits(traitGroup.trait));
setTraitGroupName(traitGroup.trait);
setSelectedTraitID(characterManager.getCurrentTraitID(traitGroup.trait));
moveCamera({ targetY: traitGroup.cameraTarget.height, distance: traitGroup.cameraTarget.distance})
}
else{
setTraits(null);
setTraitGroupName("");
setSelectedTraitID(null);
moveCamera({ targetY: 0.8, distance: 3.2 })
}
}
Expand Down Expand Up @@ -136,6 +139,9 @@ export default function Editor({uploadTextureURL, uploadVRMURL,confirmDialog,ani
<Selector
traits={traits}
traitGroupName = {traitGroupName}
selectedTraitID = {selectedTraitID}
setSelectedTraitID = {setSelectedTraitID}

confirmDialog = {confirmDialog}
animationManager={animationManager}
templateInfo={templateInfo}
Expand Down
34 changes: 15 additions & 19 deletions src/components/Selector.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import { saveVRMCollidersToUserData } from "../library/load-utils"



export default function Selector({traits, traitGroupName,confirmDialog, uploadVRMURL, templateInfo, animationManager, blinkManager, lookatManager, effectManager}) {
export default function Selector({traits, traitGroupName, selectedTraitID, setSelectedTraitID,confirmDialog, uploadVRMURL, templateInfo, animationManager, blinkManager, lookatManager, effectManager}) {
const {
avatar,
setAvatar,
Expand Down Expand Up @@ -110,16 +110,18 @@ export default function Selector({traits, traitGroupName,confirmDialog, uploadVR


function ClearTraitButton() {
// clear the current trait
const isSelected = currentTrait.get(currentTraitName) ? true : false;
return !characterManager.isTraitGroupRequired(traitGroupName) ? (
<div
key={"no-trait"}
className={`${styles["selectorButton"]} ${styles["selector-button"]} ${
!currentTraitName ? styles["active"] : ""
}`}
className={`${styles["selectorButton"]}`}
icon={cancel}
onClick={() => {

//console.log(characterManager.getCurrentTraitID(traitGroupName));
characterManager.removeTrait(traitGroupName);
setSelectedTraitID(null);


// if (effectManager.getTransitionEffect('normal')) {
// selectTraitOption(null)
// setSelectValue("");
Expand All @@ -134,7 +136,7 @@ export default function Selector({traits, traitGroupName,confirmDialog, uploadVR
numFrames={128}
id="head"
icon={cancel}
rarity={!isSelected ? "mythic" : "none"}
rarity={selectedTraitID == null ? "mythic" : "none"}
/>
</div>
) : (
Expand All @@ -152,22 +154,16 @@ export default function Selector({traits, traitGroupName,confirmDialog, uploadVR
<div className={styles["scrollContainer"]}>
<div className={styles["selector-container"]}>
<ClearTraitButton />
{traits.map((trait) => {
let active = true//option.key === selectValue
// if (currentTrait.size === 0) {
// active = false;
// }
// else {
// active = currentTrait.get(option.trait.trait) === trait.traitGroup.trait + trait.id;
// }
{
traits.map((trait) => {
let active = trait.id === selectedTraitID
return (
<div
key={trait.traitGroup.trait + trait.id}
className={`${styles["selectorButton"]} ${
styles["selector-button"]
} ${active ? styles["active"] : ""}`}
key={trait.id}
className={`${styles["selectorButton"]}`}
onClick={() => {
characterManager.loadTrait(trait.traitGroup.trait, trait.id)
setSelectedTraitID(trait.id);
// if (effectManager.getTransitionEffect('normal')){
// selectTraitOption(option)
// setLoadPercentage(1)
Expand Down

0 comments on commit 8a5889d

Please sign in to comment.