forked from cgvr/DeltaVR
shape scanner improvements: add handle, destroy scannable object on completion, correctly detect when new object is generated
This commit is contained in:
@@ -2,13 +2,9 @@
|
||||
* user flow: grab item? mida krabada
|
||||
* võtta spawnitud mudeli mõõtmed: meshcollideri max x, max y, etc? bounding box?
|
||||
* shape scanner:
|
||||
* initialisation correct number of confs
|
||||
* mitte-liigutatavaks, aga samal ajal kõrgus dünaamiliselt õige. või lihtsalt piisavalt madalale asetada või väljaulatuv kang millest krabada
|
||||
* peenikesemad kiired
|
||||
* mitte lihtsalt ontriggerenter ja -exit, sest kui mitu objekti lähevad samal ajal sisse
|
||||
* kui mudel despawnib shape scanneri kiirte sees olles siis collision detection läheb katki
|
||||
* mustad kiired on halvasti nähtavad pruuni materjali taustal
|
||||
* kui üks config completed, siis mängijale aru saada: sound effect, "loading"
|
||||
* speech-to-text:
|
||||
* vana tekst ei kao ära
|
||||
* kogu tekst muutub ootamatult "Silence"-iks
|
||||
|
||||
@@ -1,5 +1,112 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &709153202497655716
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3247357557719671279}
|
||||
- component: {fileID: 7256125702820162016}
|
||||
- component: {fileID: 8711103819910437103}
|
||||
- component: {fileID: 2373810972321806103}
|
||||
m_Layer: 2
|
||||
m_Name: Handle (1)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &3247357557719671279
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 709153202497655716}
|
||||
m_LocalRotation: {x: -0.92387974, y: -0.3826829, z: 0.000000113925715, w: -0.00000035363863}
|
||||
m_LocalPosition: {x: -0.406, y: -0.242, z: -0.009}
|
||||
m_LocalScale: {x: 0.036143623, y: 0.16946283, z: 0.036143623}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8294461198356057691}
|
||||
m_RootOrder: -1
|
||||
m_LocalEulerAnglesHint: {x: -180, y: 0, z: -45}
|
||||
--- !u!33 &7256125702820162016
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 709153202497655716}
|
||||
m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &8711103819910437103
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 709153202497655716}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: a8775aa86c058ce4986d3749a7d0c86e, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!136 &2373810972321806103
|
||||
CapsuleCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 709153202497655716}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.5000001
|
||||
m_Height: 2
|
||||
m_Direction: 1
|
||||
m_Center: {x: 0.000000059604645, y: 0, z: -0.00000008940697}
|
||||
--- !u!1 &1013838101896458198
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -12,7 +119,7 @@ GameObject:
|
||||
- component: {fileID: 2969912182040882308}
|
||||
- component: {fileID: 2891308580412767560}
|
||||
- component: {fileID: 8157435207705226294}
|
||||
m_Layer: 0
|
||||
m_Layer: 2
|
||||
m_Name: Cube (1)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
@@ -27,7 +134,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1013838101896458198}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalPosition: {x: 0, y: 0.143, z: 0}
|
||||
m_LocalScale: {x: 0.6, y: 0.03, z: 0.6}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -116,7 +223,7 @@ GameObject:
|
||||
- component: {fileID: 8594417542550664647}
|
||||
- component: {fileID: 7869926060146003813}
|
||||
- component: {fileID: 5476518908687164580}
|
||||
m_Layer: 0
|
||||
m_Layer: 2
|
||||
m_Name: CurrentConfigurationDisplay
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
@@ -254,7 +361,7 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8025195334996356355}
|
||||
m_Layer: 0
|
||||
m_Layer: 2
|
||||
m_Name: Corner2
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
@@ -285,7 +392,7 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4362133469817120903}
|
||||
m_Layer: 0
|
||||
m_Layer: 2
|
||||
m_Name: RayParent
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
@@ -300,7 +407,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1598434951760464124}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: -0.225, z: 0}
|
||||
m_LocalPosition: {x: 0, y: -0.082, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
@@ -320,7 +427,7 @@ GameObject:
|
||||
- component: {fileID: 6932860525531626823}
|
||||
- component: {fileID: 7714109504095032940}
|
||||
- component: {fileID: 6725626179204001352}
|
||||
m_Layer: 0
|
||||
m_Layer: 2
|
||||
m_Name: Panel
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
@@ -399,7 +506,7 @@ GameObject:
|
||||
- component: {fileID: 8384342510111058824}
|
||||
- component: {fileID: 5271028056213577304}
|
||||
- component: {fileID: 903504955742171526}
|
||||
m_Layer: 0
|
||||
m_Layer: 2
|
||||
m_Name: Cube
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
@@ -414,7 +521,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3769602036287398038}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: -0.5, z: 0}
|
||||
m_LocalPosition: {x: 0, y: -0.357, z: 0}
|
||||
m_LocalScale: {x: 0.6, y: 0.03, z: 0.6}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -501,7 +608,7 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4055409281532582849}
|
||||
m_Layer: 0
|
||||
m_Layer: 2
|
||||
m_Name: Corner1
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
@@ -534,7 +641,7 @@ GameObject:
|
||||
- component: {fileID: 6492405423818451632}
|
||||
- component: {fileID: 489185111762359262}
|
||||
- component: {fileID: 7443612957244256760}
|
||||
m_Layer: 0
|
||||
m_Layer: 2
|
||||
m_Name: CorrectPercentageDisplay
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
@@ -673,7 +780,8 @@ GameObject:
|
||||
- component: {fileID: 1587203061162103481}
|
||||
- component: {fileID: 6146655625910388013}
|
||||
- component: {fileID: 4552742491559429175}
|
||||
m_Layer: 0
|
||||
- component: {fileID: 5496564390542954758}
|
||||
m_Layer: 2
|
||||
m_Name: ShapeScanner
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
@@ -692,6 +800,8 @@ Transform:
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 8855038928906100706}
|
||||
- {fileID: 3247357557719671279}
|
||||
- {fileID: 4967077837470103189}
|
||||
- {fileID: 1593515563768306183}
|
||||
- {fileID: 4362133469817120903}
|
||||
@@ -783,7 +893,9 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_InteractionManager: {fileID: 0}
|
||||
m_Colliders: []
|
||||
m_Colliders:
|
||||
- {fileID: 3751126057824971022}
|
||||
- {fileID: 2373810972321806103}
|
||||
m_InteractionLayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
@@ -859,7 +971,7 @@ MonoBehaviour:
|
||||
m_OnDeactivate:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_AttachTransform: {fileID: 0}
|
||||
m_AttachTransform: {fileID: 8855038928906100706}
|
||||
m_SecondaryAttachTransform: {fileID: 0}
|
||||
m_UseDynamicAttach: 1
|
||||
m_MatchAttachPosition: 1
|
||||
@@ -905,6 +1017,27 @@ MonoBehaviour:
|
||||
m_StartingSingleGrabTransformers: []
|
||||
m_StartingMultipleGrabTransformers: []
|
||||
m_AddDefaultGrabTransformers: 1
|
||||
--- !u!65 &5496564390542954758
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6798688590405535079}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 0.75, y: 0.75, z: 0.75}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &8844992431392597936
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -917,7 +1050,7 @@ GameObject:
|
||||
- component: {fileID: 2825347825077556369}
|
||||
- component: {fileID: 3521071293198874823}
|
||||
- component: {fileID: 106131459206684253}
|
||||
m_Layer: 0
|
||||
m_Layer: 2
|
||||
m_Name: Canvas
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
@@ -942,7 +1075,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0.16}
|
||||
m_AnchoredPosition: {x: 0, y: 0.31300017}
|
||||
m_SizeDelta: {x: 50, y: 30}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!223 &2825347825077556369
|
||||
@@ -1007,3 +1140,110 @@ MonoBehaviour:
|
||||
m_BlockingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
--- !u!1 &9220381957138534729
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8855038928906100706}
|
||||
- component: {fileID: 3571859133888751127}
|
||||
- component: {fileID: 5654644871419857071}
|
||||
- component: {fileID: 3751126057824971022}
|
||||
m_Layer: 2
|
||||
m_Name: Handle
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &8855038928906100706
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9220381957138534729}
|
||||
m_LocalRotation: {x: -0.3826839, y: -0.9238794, z: 0.00000033061798, w: -0.00000016950273}
|
||||
m_LocalPosition: {x: -0.417, y: 0.013, z: -0.009}
|
||||
m_LocalScale: {x: 0.036143623, y: 0.17785089, z: 0.036143623}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8294461198356057691}
|
||||
m_RootOrder: -1
|
||||
m_LocalEulerAnglesHint: {x: -180, y: 0, z: -135}
|
||||
--- !u!33 &3571859133888751127
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9220381957138534729}
|
||||
m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &5654644871419857071
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9220381957138534729}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: a8775aa86c058ce4986d3749a7d0c86e, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!136 &3751126057824971022
|
||||
CapsuleCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9220381957138534729}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.5000001
|
||||
m_Height: 2
|
||||
m_Direction: 1
|
||||
m_Center: {x: 0.000000059604645, y: 0, z: -0.00000008940697}
|
||||
|
||||
@@ -28,8 +28,8 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8688612914795219519}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0.259, y: 0.012, z: -0.26886}
|
||||
m_LocalScale: {x: 0.035, y: 0.5, z: 0.035}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.025, y: 0.5, z: 0.025}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
|
||||
Binary file not shown.
@@ -36,7 +36,10 @@ public class MicrophoneStand : MonoBehaviour
|
||||
microphoneOffStatus.SetActive(false);
|
||||
microphoneOnStatus.SetActive(true);
|
||||
AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.RadioButton, gameObject);
|
||||
npcController.SpeakVoiceLine(1);
|
||||
if (npcController != null)
|
||||
{
|
||||
npcController.SpeakVoiceLine(1);
|
||||
}
|
||||
fmodWhisperBridge.ActivateRecording();
|
||||
}
|
||||
}
|
||||
@@ -49,7 +52,10 @@ public class MicrophoneStand : MonoBehaviour
|
||||
microphoneOffStatus.SetActive(true);
|
||||
microphoneOnStatus.SetActive(false);
|
||||
AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.RadioButton, gameObject);
|
||||
npcController.SpeakVoiceLine(2);
|
||||
if (npcController != null)
|
||||
{
|
||||
npcController.SpeakVoiceLine(2);
|
||||
}
|
||||
fmodWhisperBridge.DeactivateRecording();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,8 +55,12 @@ public class ShapeDetectionMinigameController : MonoBehaviour
|
||||
GameObject spawnedObject = await ModelGenerationUtils.Instance.SpawnModel(encodedModel);
|
||||
InitializeSpawnedObject(spawnedObject);
|
||||
|
||||
// Destroy previous generated object
|
||||
Destroy(GeneratedModel);
|
||||
if (GeneratedModel != null)
|
||||
{
|
||||
// Destroy previous generated object (first move out of ShapeScanner to trigger OnTriggerExit
|
||||
GeneratedModel.transform.position = Vector3.zero;
|
||||
//Destroy(GeneratedModel);
|
||||
}
|
||||
GeneratedModel = spawnedObject;
|
||||
|
||||
modelGenerationButton.Deactivate();
|
||||
|
||||
@@ -42,6 +42,8 @@ public class ShapeScanner : MonoBehaviour
|
||||
private int rayCount;
|
||||
private int correctRayStates;
|
||||
|
||||
private GameObject currentlyScannableObject;
|
||||
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
@@ -60,6 +62,22 @@ public class ShapeScanner : MonoBehaviour
|
||||
|
||||
}
|
||||
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
if (other.tag == rayPrefab.scannableTag)
|
||||
{
|
||||
currentlyScannableObject = other.gameObject;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTriggerExit(Collider other)
|
||||
{
|
||||
if (other.tag == rayPrefab.scannableTag)
|
||||
{
|
||||
currentlyScannableObject = null;
|
||||
}
|
||||
}
|
||||
|
||||
private void InitializeConfiguration()
|
||||
{
|
||||
// Delete all existing rays first
|
||||
@@ -67,6 +85,11 @@ public class ShapeScanner : MonoBehaviour
|
||||
{
|
||||
Destroy(ray);
|
||||
}
|
||||
if (currentlyScannableObject != null)
|
||||
{
|
||||
currentlyScannableObject.transform.position = Vector3.zero;
|
||||
Destroy(currentlyScannableObject);
|
||||
}
|
||||
|
||||
ShapeScannerConfiguration configuration = configurations[currentConfiguration];
|
||||
int rayRowCount = configuration.rows.Count;
|
||||
@@ -97,8 +120,6 @@ public class ShapeScanner : MonoBehaviour
|
||||
rayCount = configuration.rows.SelectMany(row => row.cells).Count();
|
||||
correctRayStates = configuration.rows.SelectMany(row => row.cells).Count(cell => !cell);
|
||||
UpdateDisplay(calculateCorrectPercentage());
|
||||
|
||||
AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.ShapeScannerSuccess, gameObject);
|
||||
}
|
||||
|
||||
private float calculateCorrectPercentage()
|
||||
@@ -117,9 +138,11 @@ public class ShapeScanner : MonoBehaviour
|
||||
{
|
||||
currentConfiguration++;
|
||||
InitializeConfiguration();
|
||||
AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.ShapeScannerSuccess, gameObject);
|
||||
} else
|
||||
{
|
||||
Debug.Log("Shape checker completed");
|
||||
AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.ShapeScannerSuccess, gameObject);
|
||||
}
|
||||
}
|
||||
UpdateDisplay(correctPercentage);
|
||||
|
||||
Reference in New Issue
Block a user