added storage unit to human
This commit is contained in:
@@ -12,7 +12,7 @@ export function useRetrieveHandler() {
|
||||
const { getStorageUnitById, getLastMaterial, updateCurrentLoad, removeLastMaterial } = storageUnitStore();
|
||||
const { getVehicleById, incrementVehicleLoad, addCurrentMaterial } = vehicleStore();
|
||||
const { getHumanById, incrementHumanLoad, addCurrentMaterial: addCurrentMaterialToHuman } = humanStore();
|
||||
const { getAssetById } = assetStore();
|
||||
const { getAssetById, setCurrentAnimation } = assetStore();
|
||||
const { selectedProduct } = selectedProductStore();
|
||||
const { getArmBotById, addCurrentAction } = armBotStore();
|
||||
const { isPlaying } = usePlayButtonStore();
|
||||
@@ -271,7 +271,7 @@ export function useRetrieveHandler() {
|
||||
|
||||
if (material) {
|
||||
removeLastMaterial(storageUnit.modelUuid);
|
||||
updateCurrentLoad(storageUnit.modelUuid, -1)
|
||||
updateCurrentLoad(storageUnit.modelUuid, -1);
|
||||
incrementVehicleLoad(vehicle.modelUuid, 1);
|
||||
addCurrentMaterial(vehicle.modelUuid, material.materialType, material.materialId);
|
||||
retrieveLogStatus(material.materialName, `is picked by ${vehicle.modelName}`);
|
||||
@@ -299,11 +299,34 @@ export function useRetrieveHandler() {
|
||||
const human = getHumanById(triggeredModel.modelUuid);
|
||||
const humanAsset = getAssetById(triggeredModel.modelUuid);
|
||||
|
||||
if (humanAsset && humanAsset.animationState?.current === 'idle') {
|
||||
if (human && !human.isScheduled && human.state === 'idle' && human.currentLoad < human.point.action.loadCapacity) {
|
||||
|
||||
if (human && !human.isScheduled && human.state === 'idle' && human.currentLoad < human.point.action.loadCapacity) {
|
||||
if (humanAsset && humanAsset.animationState?.current === 'idle') {
|
||||
setCurrentAnimation(human.modelUuid, 'pickup', true, false, false);
|
||||
} else if (humanAsset && humanAsset.animationState?.current === 'pickup' && humanAsset.animationState.isCompleted) {
|
||||
const lastMaterial = getLastMaterial(storageUnit.modelUuid);
|
||||
if (lastMaterial) {
|
||||
if (human.currentLoad < human.point.action.loadCapacity) {
|
||||
const material = createNewMaterial(
|
||||
lastMaterial.materialId,
|
||||
lastMaterial.materialType,
|
||||
storageUnit.point.action
|
||||
);
|
||||
if (material) {
|
||||
removeLastMaterial(storageUnit.modelUuid);
|
||||
updateCurrentLoad(storageUnit.modelUuid, -1);
|
||||
incrementHumanLoad(human.modelUuid, 1);
|
||||
addCurrentMaterialToHuman(human.modelUuid, material.materialType, material.materialId);
|
||||
retrieveLogStatus(material.materialName, `is picked by ${human.modelName}`);
|
||||
}
|
||||
if (human.currentLoad + 1 < human.point.action.loadCapacity) {
|
||||
setCurrentAnimation(human.modelUuid, 'idle_with_box', true, false, false);
|
||||
setTimeout(() => {
|
||||
setCurrentAnimation(human.modelUuid, 'pickup', true, false, false);
|
||||
}, 0)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user