From cb54ebab057553edcf87183f3750c467219b0538 Mon Sep 17 00:00:00 2001 From: milan Date: Thu, 6 Apr 2023 15:21:23 +0200 Subject: [PATCH] laser emitter module --- Assets/Engine/Runtime/Engine.cs | 13 +- Assets/Scenes/PuzzleTest.unity | 167 +++++++++++++- .../M Laser Button Emitter.asset | 20 ++ .../M Laser Button Emitter.asset.meta | 8 + .../Module Descriptions/M Laser Emitter.asset | 20 ++ .../M Laser Emitter.asset.meta | 8 + .../R Laser Button Emitter.asset | 15 ++ .../R Laser Button Emitter.asset.meta | 8 + .../Module Descriptions/R Laser Emitter.asset | 15 ++ .../R Laser Emitter.asset.meta | 8 + .../{Orb => Dispenser}/Materials/Hole Orb.mat | 0 .../Materials/Hole Orb.mat.meta | 0 .../Hole Orb_Holes_AlbedoTransparency.png | 0 ...Hole Orb_Holes_AlbedoTransparency.png.meta | 0 .../Textures/Hole Orb_Holes_Emission.png | 0 .../Textures/Hole Orb_Holes_Emission.png.meta | 0 .../Hole Orb_Holes_MetallicSmoothness.png | 0 ...Hole Orb_Holes_MetallicSmoothness.png.meta | 0 .../Textures/Hole Orb_Holes_Normal.png | 0 .../Textures/Hole Orb_Holes_Normal.png.meta | 0 .../Textures/Hole Orb_Holes_Occlusion.png | 0 .../Hole Orb_Holes_Occlusion.png.meta | 0 .../{Orb => Dispenser}/Models/Hole Orb.blend | 0 .../Models/Hole Orb.blend.meta | 0 .../{Orb => Dispenser}/Models/Hole Orb.blend1 | Bin .../Models/Hole Orb.blend1.meta | 0 .../{Orb => Dispenser}/Models/Hole Orb.fbx | 0 .../Models/Hole Orb.fbx.meta | 0 .../Modules/Hover Sphere/Crystal.prefab | 15 +- .../Modules/Laser/Laser Button Emitter.prefab | 206 ++++++++++++++++++ .../Laser/Laser Button Emitter.prefab.meta | 7 + .../Modules/Laser/Laser Emitter.prefab | 14 ++ .../Laser/Scripts/LaserButtonEmitter.cs | 18 ++ .../Laser/Scripts/LaserButtonEmitter.cs.meta | 3 + .../Modules/Laser/Scripts/LaserEmitter.cs | 15 +- Assets/Station46/Modules/Orb.meta | 3 - Assets/Station46/Modules/Orb/Materials.meta | 3 - .../Modules/Orb/Materials/Textures.meta | 3 - Assets/Station46/Modules/Orb/Models.meta | 3 - 39 files changed, 540 insertions(+), 32 deletions(-) create mode 100644 Assets/Station46/Module Descriptions/M Laser Button Emitter.asset create mode 100644 Assets/Station46/Module Descriptions/M Laser Button Emitter.asset.meta create mode 100644 Assets/Station46/Module Descriptions/M Laser Emitter.asset create mode 100644 Assets/Station46/Module Descriptions/M Laser Emitter.asset.meta create mode 100644 Assets/Station46/Module Descriptions/R Laser Button Emitter.asset create mode 100644 Assets/Station46/Module Descriptions/R Laser Button Emitter.asset.meta create mode 100644 Assets/Station46/Module Descriptions/R Laser Emitter.asset create mode 100644 Assets/Station46/Module Descriptions/R Laser Emitter.asset.meta rename Assets/Station46/Modules/{Orb => Dispenser}/Materials/Hole Orb.mat (100%) rename Assets/Station46/Modules/{Orb => Dispenser}/Materials/Hole Orb.mat.meta (100%) rename Assets/Station46/Modules/{Orb => Dispenser}/Materials/Textures/Hole Orb_Holes_AlbedoTransparency.png (100%) rename Assets/Station46/Modules/{Orb => Dispenser}/Materials/Textures/Hole Orb_Holes_AlbedoTransparency.png.meta (100%) rename Assets/Station46/Modules/{Orb => Dispenser}/Materials/Textures/Hole Orb_Holes_Emission.png (100%) rename Assets/Station46/Modules/{Orb => Dispenser}/Materials/Textures/Hole Orb_Holes_Emission.png.meta (100%) rename Assets/Station46/Modules/{Orb => Dispenser}/Materials/Textures/Hole Orb_Holes_MetallicSmoothness.png (100%) rename Assets/Station46/Modules/{Orb => Dispenser}/Materials/Textures/Hole Orb_Holes_MetallicSmoothness.png.meta (100%) rename Assets/Station46/Modules/{Orb => Dispenser}/Materials/Textures/Hole Orb_Holes_Normal.png (100%) rename Assets/Station46/Modules/{Orb => Dispenser}/Materials/Textures/Hole Orb_Holes_Normal.png.meta (100%) rename Assets/Station46/Modules/{Orb => Dispenser}/Materials/Textures/Hole Orb_Holes_Occlusion.png (100%) rename Assets/Station46/Modules/{Orb => Dispenser}/Materials/Textures/Hole Orb_Holes_Occlusion.png.meta (100%) rename Assets/Station46/Modules/{Orb => Dispenser}/Models/Hole Orb.blend (100%) rename Assets/Station46/Modules/{Orb => Dispenser}/Models/Hole Orb.blend.meta (100%) rename Assets/Station46/Modules/{Orb => Dispenser}/Models/Hole Orb.blend1 (100%) rename Assets/Station46/Modules/{Orb => Dispenser}/Models/Hole Orb.blend1.meta (100%) rename Assets/Station46/Modules/{Orb => Dispenser}/Models/Hole Orb.fbx (100%) rename Assets/Station46/Modules/{Orb => Dispenser}/Models/Hole Orb.fbx.meta (100%) create mode 100644 Assets/Station46/Modules/Laser/Laser Button Emitter.prefab create mode 100644 Assets/Station46/Modules/Laser/Laser Button Emitter.prefab.meta create mode 100644 Assets/Station46/Modules/Laser/Scripts/LaserButtonEmitter.cs create mode 100644 Assets/Station46/Modules/Laser/Scripts/LaserButtonEmitter.cs.meta delete mode 100644 Assets/Station46/Modules/Orb.meta delete mode 100644 Assets/Station46/Modules/Orb/Materials.meta delete mode 100644 Assets/Station46/Modules/Orb/Materials/Textures.meta delete mode 100644 Assets/Station46/Modules/Orb/Models.meta diff --git a/Assets/Engine/Runtime/Engine.cs b/Assets/Engine/Runtime/Engine.cs index b7a91f2..b35cb98 100644 --- a/Assets/Engine/Runtime/Engine.cs +++ b/Assets/Engine/Runtime/Engine.cs @@ -107,8 +107,9 @@ namespace EscapeRoomEngine.Engine.Runtime Space space; Passage exit; - // choose the next puzzle - var puzzle = ChoosePuzzle(); + // choose a puzzle from the plan and remove it from both the plan and later available puzzles (so it is only chosen once) + var puzzle = _plannedPuzzles.PopRandomElement(); + _availablePuzzles.Remove(puzzle); GameControl.Instance.CurrentPuzzle = puzzle; do @@ -149,14 +150,6 @@ namespace EscapeRoomEngine.Engine.Runtime room.AddSpace(new Space(room, entrance), null); } - private PuzzleModuleDescription ChoosePuzzle() - { - // choose a puzzle from the plan and remove it from both the plan and later available puzzles (so it is only chosen once) - var puzzle = _plannedPuzzles.PopRandomElement(); - _availablePuzzles.Remove(puzzle); - return puzzle; - } - #endregion /// diff --git a/Assets/Scenes/PuzzleTest.unity b/Assets/Scenes/PuzzleTest.unity index a7b1c2b..53e9f5b 100644 --- a/Assets/Scenes/PuzzleTest.unity +++ b/Assets/Scenes/PuzzleTest.unity @@ -2027,7 +2027,7 @@ PrefabInstance: - target: {fileID: 2835502344937141734, guid: 2013ed7eebc36b54e8fab3b09e08b6de, type: 3} propertyPath: m_LocalPosition.x - value: 3 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2835502344937141734, guid: 2013ed7eebc36b54e8fab3b09e08b6de, type: 3} @@ -2787,6 +2787,8 @@ Transform: - {fileID: 438720342} - {fileID: 1101383441} - {fileID: 874637333} + - {fileID: 5113659104536846700} + - {fileID: 1990624197} - {fileID: 987689138} - {fileID: 604728745} - {fileID: 681930983} @@ -4156,6 +4158,90 @@ Transform: type: 3} m_PrefabInstance: {fileID: 588055817} m_PrefabAsset: {fileID: 0} +--- !u!1001 &1990624196 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1340421038} + m_Modifications: + - target: {fileID: 6665240268073425225, guid: 39c7a496fd0efad4cbb5e6fe1a171309, + type: 3} + propertyPath: m_Name + value: Dispenser Orb + objectReference: {fileID: 0} + - target: {fileID: 6665240268073425228, guid: 39c7a496fd0efad4cbb5e6fe1a171309, + type: 3} + propertyPath: m_UseGravity + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6665240268073425229, guid: 39c7a496fd0efad4cbb5e6fe1a171309, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6665240268073425229, guid: 39c7a496fd0efad4cbb5e6fe1a171309, + type: 3} + propertyPath: m_LocalPosition.x + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 6665240268073425229, guid: 39c7a496fd0efad4cbb5e6fe1a171309, + type: 3} + propertyPath: m_LocalPosition.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6665240268073425229, guid: 39c7a496fd0efad4cbb5e6fe1a171309, + type: 3} + propertyPath: m_LocalPosition.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6665240268073425229, guid: 39c7a496fd0efad4cbb5e6fe1a171309, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6665240268073425229, guid: 39c7a496fd0efad4cbb5e6fe1a171309, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6665240268073425229, guid: 39c7a496fd0efad4cbb5e6fe1a171309, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6665240268073425229, guid: 39c7a496fd0efad4cbb5e6fe1a171309, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6665240268073425229, guid: 39c7a496fd0efad4cbb5e6fe1a171309, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6665240268073425229, guid: 39c7a496fd0efad4cbb5e6fe1a171309, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6665240268073425229, guid: 39c7a496fd0efad4cbb5e6fe1a171309, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 39c7a496fd0efad4cbb5e6fe1a171309, type: 3} +--- !u!4 &1990624197 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 6665240268073425229, guid: 39c7a496fd0efad4cbb5e6fe1a171309, + type: 3} + m_PrefabInstance: {fileID: 1990624196} + m_PrefabAsset: {fileID: 0} --- !u!1001 &2024452941 PrefabInstance: m_ObjectHideFlags: 0 @@ -4240,3 +4326,82 @@ Transform: type: 3} m_PrefabInstance: {fileID: 2024452941} m_PrefabAsset: {fileID: 0} +--- !u!1001 &5113659104536846699 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1340421038} + m_Modifications: + - target: {fileID: 872448883161704311, guid: 511d605163a2abf49a0f1f69be067561, + type: 3} + propertyPath: m_Name + value: Button Emitter + objectReference: {fileID: 0} + - target: {fileID: 5691171783781926815, guid: 511d605163a2abf49a0f1f69be067561, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5691171783781926815, guid: 511d605163a2abf49a0f1f69be067561, + type: 3} + propertyPath: m_LocalPosition.x + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 5691171783781926815, guid: 511d605163a2abf49a0f1f69be067561, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5691171783781926815, guid: 511d605163a2abf49a0f1f69be067561, + type: 3} + propertyPath: m_LocalPosition.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5691171783781926815, guid: 511d605163a2abf49a0f1f69be067561, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5691171783781926815, guid: 511d605163a2abf49a0f1f69be067561, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5691171783781926815, guid: 511d605163a2abf49a0f1f69be067561, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5691171783781926815, guid: 511d605163a2abf49a0f1f69be067561, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5691171783781926815, guid: 511d605163a2abf49a0f1f69be067561, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5691171783781926815, guid: 511d605163a2abf49a0f1f69be067561, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5691171783781926815, guid: 511d605163a2abf49a0f1f69be067561, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 511d605163a2abf49a0f1f69be067561, type: 3} +--- !u!4 &5113659104536846700 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 5691171783781926815, guid: 511d605163a2abf49a0f1f69be067561, + type: 3} + m_PrefabInstance: {fileID: 5113659104536846699} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/Station46/Module Descriptions/M Laser Button Emitter.asset b/Assets/Station46/Module Descriptions/M Laser Button Emitter.asset new file mode 100644 index 0000000..69266f7 --- /dev/null +++ b/Assets/Station46/Module Descriptions/M Laser Button Emitter.asset @@ -0,0 +1,20 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: abf4a405f6c64073995bded39977563e, type: 3} + m_Name: M Laser Button Emitter + m_EditorClassIdentifier: + types: 03000000 + modulePrefab: {fileID: 8560417468725262182, guid: 511d605163a2abf49a0f1f69be067561, + type: 3} + preconditionRequirements: [] + placementRequirements: + - {fileID: 11400000, guid: 43eb2a566a244964aa3a3319eaafe1a8, type: 2} diff --git a/Assets/Station46/Module Descriptions/M Laser Button Emitter.asset.meta b/Assets/Station46/Module Descriptions/M Laser Button Emitter.asset.meta new file mode 100644 index 0000000..4ae00e8 --- /dev/null +++ b/Assets/Station46/Module Descriptions/M Laser Button Emitter.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dadcc700ca690234998d79d1bcbe819f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Station46/Module Descriptions/M Laser Emitter.asset b/Assets/Station46/Module Descriptions/M Laser Emitter.asset new file mode 100644 index 0000000..5760ad0 --- /dev/null +++ b/Assets/Station46/Module Descriptions/M Laser Emitter.asset @@ -0,0 +1,20 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: abf4a405f6c64073995bded39977563e, type: 3} + m_Name: M Laser Emitter + m_EditorClassIdentifier: + types: 03000000 + modulePrefab: {fileID: 2394984000857638811, guid: 2013ed7eebc36b54e8fab3b09e08b6de, + type: 3} + preconditionRequirements: [] + placementRequirements: + - {fileID: 11400000, guid: 43eb2a566a244964aa3a3319eaafe1a8, type: 2} diff --git a/Assets/Station46/Module Descriptions/M Laser Emitter.asset.meta b/Assets/Station46/Module Descriptions/M Laser Emitter.asset.meta new file mode 100644 index 0000000..53cf0d9 --- /dev/null +++ b/Assets/Station46/Module Descriptions/M Laser Emitter.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aa2eb3610fa30dd4195d45f2a4e2afc5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Station46/Module Descriptions/R Laser Button Emitter.asset b/Assets/Station46/Module Descriptions/R Laser Button Emitter.asset new file mode 100644 index 0000000..9756472 --- /dev/null +++ b/Assets/Station46/Module Descriptions/R Laser Button Emitter.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6e3f3bf07aae4a03834a7943c255f37d, type: 3} + m_Name: R Laser Button Emitter + m_EditorClassIdentifier: + relatedModule: {fileID: 11400000, guid: dadcc700ca690234998d79d1bcbe819f, type: 2} diff --git a/Assets/Station46/Module Descriptions/R Laser Button Emitter.asset.meta b/Assets/Station46/Module Descriptions/R Laser Button Emitter.asset.meta new file mode 100644 index 0000000..dc8185a --- /dev/null +++ b/Assets/Station46/Module Descriptions/R Laser Button Emitter.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f2ccf07dcda14b04f979338a242565c1 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Station46/Module Descriptions/R Laser Emitter.asset b/Assets/Station46/Module Descriptions/R Laser Emitter.asset new file mode 100644 index 0000000..07c75b9 --- /dev/null +++ b/Assets/Station46/Module Descriptions/R Laser Emitter.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6e3f3bf07aae4a03834a7943c255f37d, type: 3} + m_Name: R Laser Emitter + m_EditorClassIdentifier: + relatedModule: {fileID: 11400000, guid: aa2eb3610fa30dd4195d45f2a4e2afc5, type: 2} diff --git a/Assets/Station46/Module Descriptions/R Laser Emitter.asset.meta b/Assets/Station46/Module Descriptions/R Laser Emitter.asset.meta new file mode 100644 index 0000000..b05c1e4 --- /dev/null +++ b/Assets/Station46/Module Descriptions/R Laser Emitter.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 01d64225420c0294c9b91149f4a68e0a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Station46/Modules/Orb/Materials/Hole Orb.mat b/Assets/Station46/Modules/Dispenser/Materials/Hole Orb.mat similarity index 100% rename from Assets/Station46/Modules/Orb/Materials/Hole Orb.mat rename to Assets/Station46/Modules/Dispenser/Materials/Hole Orb.mat diff --git a/Assets/Station46/Modules/Orb/Materials/Hole Orb.mat.meta b/Assets/Station46/Modules/Dispenser/Materials/Hole Orb.mat.meta similarity index 100% rename from Assets/Station46/Modules/Orb/Materials/Hole Orb.mat.meta rename to Assets/Station46/Modules/Dispenser/Materials/Hole Orb.mat.meta diff --git a/Assets/Station46/Modules/Orb/Materials/Textures/Hole Orb_Holes_AlbedoTransparency.png b/Assets/Station46/Modules/Dispenser/Materials/Textures/Hole Orb_Holes_AlbedoTransparency.png similarity index 100% rename from Assets/Station46/Modules/Orb/Materials/Textures/Hole Orb_Holes_AlbedoTransparency.png rename to Assets/Station46/Modules/Dispenser/Materials/Textures/Hole Orb_Holes_AlbedoTransparency.png diff --git a/Assets/Station46/Modules/Orb/Materials/Textures/Hole Orb_Holes_AlbedoTransparency.png.meta b/Assets/Station46/Modules/Dispenser/Materials/Textures/Hole Orb_Holes_AlbedoTransparency.png.meta similarity index 100% rename from Assets/Station46/Modules/Orb/Materials/Textures/Hole Orb_Holes_AlbedoTransparency.png.meta rename to Assets/Station46/Modules/Dispenser/Materials/Textures/Hole Orb_Holes_AlbedoTransparency.png.meta diff --git a/Assets/Station46/Modules/Orb/Materials/Textures/Hole Orb_Holes_Emission.png b/Assets/Station46/Modules/Dispenser/Materials/Textures/Hole Orb_Holes_Emission.png similarity index 100% rename from Assets/Station46/Modules/Orb/Materials/Textures/Hole Orb_Holes_Emission.png rename to Assets/Station46/Modules/Dispenser/Materials/Textures/Hole Orb_Holes_Emission.png diff --git a/Assets/Station46/Modules/Orb/Materials/Textures/Hole Orb_Holes_Emission.png.meta b/Assets/Station46/Modules/Dispenser/Materials/Textures/Hole Orb_Holes_Emission.png.meta similarity index 100% rename from Assets/Station46/Modules/Orb/Materials/Textures/Hole Orb_Holes_Emission.png.meta rename to Assets/Station46/Modules/Dispenser/Materials/Textures/Hole Orb_Holes_Emission.png.meta diff --git a/Assets/Station46/Modules/Orb/Materials/Textures/Hole Orb_Holes_MetallicSmoothness.png b/Assets/Station46/Modules/Dispenser/Materials/Textures/Hole Orb_Holes_MetallicSmoothness.png similarity index 100% rename from Assets/Station46/Modules/Orb/Materials/Textures/Hole Orb_Holes_MetallicSmoothness.png rename to Assets/Station46/Modules/Dispenser/Materials/Textures/Hole Orb_Holes_MetallicSmoothness.png diff --git a/Assets/Station46/Modules/Orb/Materials/Textures/Hole Orb_Holes_MetallicSmoothness.png.meta b/Assets/Station46/Modules/Dispenser/Materials/Textures/Hole Orb_Holes_MetallicSmoothness.png.meta similarity index 100% rename from Assets/Station46/Modules/Orb/Materials/Textures/Hole Orb_Holes_MetallicSmoothness.png.meta rename to Assets/Station46/Modules/Dispenser/Materials/Textures/Hole Orb_Holes_MetallicSmoothness.png.meta diff --git a/Assets/Station46/Modules/Orb/Materials/Textures/Hole Orb_Holes_Normal.png b/Assets/Station46/Modules/Dispenser/Materials/Textures/Hole Orb_Holes_Normal.png similarity index 100% rename from Assets/Station46/Modules/Orb/Materials/Textures/Hole Orb_Holes_Normal.png rename to Assets/Station46/Modules/Dispenser/Materials/Textures/Hole Orb_Holes_Normal.png diff --git a/Assets/Station46/Modules/Orb/Materials/Textures/Hole Orb_Holes_Normal.png.meta b/Assets/Station46/Modules/Dispenser/Materials/Textures/Hole Orb_Holes_Normal.png.meta similarity index 100% rename from Assets/Station46/Modules/Orb/Materials/Textures/Hole Orb_Holes_Normal.png.meta rename to Assets/Station46/Modules/Dispenser/Materials/Textures/Hole Orb_Holes_Normal.png.meta diff --git a/Assets/Station46/Modules/Orb/Materials/Textures/Hole Orb_Holes_Occlusion.png b/Assets/Station46/Modules/Dispenser/Materials/Textures/Hole Orb_Holes_Occlusion.png similarity index 100% rename from Assets/Station46/Modules/Orb/Materials/Textures/Hole Orb_Holes_Occlusion.png rename to Assets/Station46/Modules/Dispenser/Materials/Textures/Hole Orb_Holes_Occlusion.png diff --git a/Assets/Station46/Modules/Orb/Materials/Textures/Hole Orb_Holes_Occlusion.png.meta b/Assets/Station46/Modules/Dispenser/Materials/Textures/Hole Orb_Holes_Occlusion.png.meta similarity index 100% rename from Assets/Station46/Modules/Orb/Materials/Textures/Hole Orb_Holes_Occlusion.png.meta rename to Assets/Station46/Modules/Dispenser/Materials/Textures/Hole Orb_Holes_Occlusion.png.meta diff --git a/Assets/Station46/Modules/Orb/Models/Hole Orb.blend b/Assets/Station46/Modules/Dispenser/Models/Hole Orb.blend similarity index 100% rename from Assets/Station46/Modules/Orb/Models/Hole Orb.blend rename to Assets/Station46/Modules/Dispenser/Models/Hole Orb.blend diff --git a/Assets/Station46/Modules/Orb/Models/Hole Orb.blend.meta b/Assets/Station46/Modules/Dispenser/Models/Hole Orb.blend.meta similarity index 100% rename from Assets/Station46/Modules/Orb/Models/Hole Orb.blend.meta rename to Assets/Station46/Modules/Dispenser/Models/Hole Orb.blend.meta diff --git a/Assets/Station46/Modules/Orb/Models/Hole Orb.blend1 b/Assets/Station46/Modules/Dispenser/Models/Hole Orb.blend1 similarity index 100% rename from Assets/Station46/Modules/Orb/Models/Hole Orb.blend1 rename to Assets/Station46/Modules/Dispenser/Models/Hole Orb.blend1 diff --git a/Assets/Station46/Modules/Orb/Models/Hole Orb.blend1.meta b/Assets/Station46/Modules/Dispenser/Models/Hole Orb.blend1.meta similarity index 100% rename from Assets/Station46/Modules/Orb/Models/Hole Orb.blend1.meta rename to Assets/Station46/Modules/Dispenser/Models/Hole Orb.blend1.meta diff --git a/Assets/Station46/Modules/Orb/Models/Hole Orb.fbx b/Assets/Station46/Modules/Dispenser/Models/Hole Orb.fbx similarity index 100% rename from Assets/Station46/Modules/Orb/Models/Hole Orb.fbx rename to Assets/Station46/Modules/Dispenser/Models/Hole Orb.fbx diff --git a/Assets/Station46/Modules/Orb/Models/Hole Orb.fbx.meta b/Assets/Station46/Modules/Dispenser/Models/Hole Orb.fbx.meta similarity index 100% rename from Assets/Station46/Modules/Orb/Models/Hole Orb.fbx.meta rename to Assets/Station46/Modules/Dispenser/Models/Hole Orb.fbx.meta diff --git a/Assets/Station46/Modules/Hover Sphere/Crystal.prefab b/Assets/Station46/Modules/Hover Sphere/Crystal.prefab index c7a30d5..a688ca8 100644 --- a/Assets/Station46/Modules/Hover Sphere/Crystal.prefab +++ b/Assets/Station46/Modules/Hover Sphere/Crystal.prefab @@ -14,7 +14,7 @@ GameObject: - component: {fileID: 501210662092717490} - component: {fileID: 8831891374069903742} - component: {fileID: 831674177515760094} - - component: {fileID: 7655374972095038266} + - component: {fileID: 522194552296554325} m_Layer: 0 m_Name: Crystal m_TagString: Untagged @@ -36,7 +36,7 @@ Transform: m_Children: - {fileID: 5215283662683745667} m_Father: {fileID: 0} - m_RootOrder: -1 + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &8574274381523156683 MeshFilter: @@ -136,8 +136,8 @@ Animator: m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorStateOnDisable: 0 m_WriteDefaultValuesOnDisable: 0 ---- !u!64 &7655374972095038266 -MeshCollider: +--- !u!135 &522194552296554325 +SphereCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -154,10 +154,9 @@ MeshCollider: m_IsTrigger: 0 m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 5 - m_Convex: 1 - m_CookingOptions: 30 - m_Mesh: {fileID: 4702925393065980420, guid: 8bfe86028a0486d4cad45e2ed4a25328, type: 3} + serializedVersion: 3 + m_Radius: 0.20582408 + m_Center: {x: -0.00014706701, y: -0.0068772286, z: 0.0144495} --- !u!1 &9184393706844761473 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Station46/Modules/Laser/Laser Button Emitter.prefab b/Assets/Station46/Modules/Laser/Laser Button Emitter.prefab new file mode 100644 index 0000000..2b8e068 --- /dev/null +++ b/Assets/Station46/Modules/Laser/Laser Button Emitter.prefab @@ -0,0 +1,206 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &4661341054449179328 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 5691171783781926815} + m_Modifications: + - target: {fileID: 4014956364524074673, guid: 66e96758671198f4cbb877705317cb9d, + type: 3} + propertyPath: m_Name + value: Hole + objectReference: {fileID: 0} + - target: {fileID: 5662938544958052762, guid: 66e96758671198f4cbb877705317cb9d, + type: 3} + propertyPath: m_RootOrder + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 5662938544958052762, guid: 66e96758671198f4cbb877705317cb9d, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5662938544958052762, guid: 66e96758671198f4cbb877705317cb9d, + type: 3} + propertyPath: m_LocalPosition.y + value: 0.25 + objectReference: {fileID: 0} + - target: {fileID: 5662938544958052762, guid: 66e96758671198f4cbb877705317cb9d, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5662938544958052762, guid: 66e96758671198f4cbb877705317cb9d, + type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 5662938544958052762, guid: 66e96758671198f4cbb877705317cb9d, + type: 3} + propertyPath: m_LocalRotation.x + value: -0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 5662938544958052762, guid: 66e96758671198f4cbb877705317cb9d, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5662938544958052762, guid: 66e96758671198f4cbb877705317cb9d, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5662938544958052762, guid: 66e96758671198f4cbb877705317cb9d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -90 + objectReference: {fileID: 0} + - target: {fileID: 5662938544958052762, guid: 66e96758671198f4cbb877705317cb9d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5662938544958052762, guid: 66e96758671198f4cbb877705317cb9d, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 66e96758671198f4cbb877705317cb9d, type: 3} +--- !u!4 &1019683130525926234 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 5662938544958052762, guid: 66e96758671198f4cbb877705317cb9d, + type: 3} + m_PrefabInstance: {fileID: 4661341054449179328} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1813200712754693479 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 6456368068151599015, guid: 66e96758671198f4cbb877705317cb9d, + type: 3} + m_PrefabInstance: {fileID: 4661341054449179328} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 05ccb586cbc54f9e8c46ade911449f7f, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &7611823108006064761 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1660506592467587114, guid: 2013ed7eebc36b54e8fab3b09e08b6de, + type: 3} + propertyPath: firing + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2835502344937141734, guid: 2013ed7eebc36b54e8fab3b09e08b6de, + type: 3} + propertyPath: m_RootOrder + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 2835502344937141734, guid: 2013ed7eebc36b54e8fab3b09e08b6de, + type: 3} + propertyPath: m_LocalPosition.x + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 2835502344937141734, guid: 2013ed7eebc36b54e8fab3b09e08b6de, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2835502344937141734, guid: 2013ed7eebc36b54e8fab3b09e08b6de, + type: 3} + propertyPath: m_LocalPosition.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2835502344937141734, guid: 2013ed7eebc36b54e8fab3b09e08b6de, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2835502344937141734, guid: 2013ed7eebc36b54e8fab3b09e08b6de, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2835502344937141734, guid: 2013ed7eebc36b54e8fab3b09e08b6de, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2835502344937141734, guid: 2013ed7eebc36b54e8fab3b09e08b6de, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2835502344937141734, guid: 2013ed7eebc36b54e8fab3b09e08b6de, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2835502344937141734, guid: 2013ed7eebc36b54e8fab3b09e08b6de, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2835502344937141734, guid: 2013ed7eebc36b54e8fab3b09e08b6de, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7329942003389928718, guid: 2013ed7eebc36b54e8fab3b09e08b6de, + type: 3} + propertyPath: m_Name + value: Button Emitter Variant + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 2394984000857638811, guid: 2013ed7eebc36b54e8fab3b09e08b6de, type: 3} + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 2835502344937141734, guid: 2013ed7eebc36b54e8fab3b09e08b6de, + type: 3} + insertIndex: 1 + addedObject: {fileID: 1019683130525926234} + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 7329942003389928718, guid: 2013ed7eebc36b54e8fab3b09e08b6de, + type: 3} + insertIndex: 1 + addedObject: {fileID: 8560417468725262182} + m_SourcePrefab: {fileID: 100100000, guid: 2013ed7eebc36b54e8fab3b09e08b6de, type: 3} +--- !u!1 &872448883161704311 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7329942003389928718, guid: 2013ed7eebc36b54e8fab3b09e08b6de, + type: 3} + m_PrefabInstance: {fileID: 7611823108006064761} + m_PrefabAsset: {fileID: 0} +--- !u!114 &8560417468725262182 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 872448883161704311} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3b54c89b5d984a33b015bfcd8a793d8c, type: 3} + m_Name: + m_EditorClassIdentifier: + size: {x: 1, y: 1} + button: {fileID: 1813200712754693479} +--- !u!4 &5691171783781926815 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2835502344937141734, guid: 2013ed7eebc36b54e8fab3b09e08b6de, + type: 3} + m_PrefabInstance: {fileID: 7611823108006064761} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/Station46/Modules/Laser/Laser Button Emitter.prefab.meta b/Assets/Station46/Modules/Laser/Laser Button Emitter.prefab.meta new file mode 100644 index 0000000..d7c3601 --- /dev/null +++ b/Assets/Station46/Modules/Laser/Laser Button Emitter.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 511d605163a2abf49a0f1f69be067561 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Station46/Modules/Laser/Laser Emitter.prefab b/Assets/Station46/Modules/Laser/Laser Emitter.prefab index 0d92f12..e760b39 100644 --- a/Assets/Station46/Modules/Laser/Laser Emitter.prefab +++ b/Assets/Station46/Modules/Laser/Laser Emitter.prefab @@ -147,6 +147,7 @@ GameObject: m_Component: - component: {fileID: 2835502344937141734} - component: {fileID: 2394984000857638811} + - component: {fileID: 1660506592467587114} m_Layer: 0 m_Name: Laser Emitter m_TagString: Untagged @@ -183,6 +184,19 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 77f303a5ac191df499650cffd0903373, type: 3} m_Name: m_EditorClassIdentifier: + size: {x: 1, y: 1} +--- !u!114 &1660506592467587114 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7329942003389928718} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f534253f30947c3be8ac6e0924a9cde, type: 3} + m_Name: + m_EditorClassIdentifier: firing: 1 laserStart: {fileID: 5831954408757011522} laserLineRenderer: {fileID: 8529185019471240263} diff --git a/Assets/Station46/Modules/Laser/Scripts/LaserButtonEmitter.cs b/Assets/Station46/Modules/Laser/Scripts/LaserButtonEmitter.cs new file mode 100644 index 0000000..9f667dc --- /dev/null +++ b/Assets/Station46/Modules/Laser/Scripts/LaserButtonEmitter.cs @@ -0,0 +1,18 @@ +using NaughtyAttributes; +using Station46.Scripts; +using UnityEngine; + +namespace Station46.Modules.Laser.Scripts +{ + public class LaserButtonEmitter : LaserEmitter + { + [BoxGroup("Internal")] [SerializeField] private Button button; + + protected override void Awake() + { + base.Awake(); + + button.ButtonEvent += (_, type) => laser.firing = type == ButtonEventType.Pressed; + } + } +} \ No newline at end of file diff --git a/Assets/Station46/Modules/Laser/Scripts/LaserButtonEmitter.cs.meta b/Assets/Station46/Modules/Laser/Scripts/LaserButtonEmitter.cs.meta new file mode 100644 index 0000000..8511f98 --- /dev/null +++ b/Assets/Station46/Modules/Laser/Scripts/LaserButtonEmitter.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3b54c89b5d984a33b015bfcd8a793d8c +timeCreated: 1683675862 \ No newline at end of file diff --git a/Assets/Station46/Modules/Laser/Scripts/LaserEmitter.cs b/Assets/Station46/Modules/Laser/Scripts/LaserEmitter.cs index 916b2d6..6962441 100644 --- a/Assets/Station46/Modules/Laser/Scripts/LaserEmitter.cs +++ b/Assets/Station46/Modules/Laser/Scripts/LaserEmitter.cs @@ -1,6 +1,19 @@ +using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Modules.State; +using UnityEngine; + namespace Station46.Modules.Laser.Scripts { - public class LaserEmitter : Laser + [RequireComponent(typeof(Laser))] + public class LaserEmitter : ModuleState { + protected Laser laser; + + protected virtual void Awake() + { + laser = GetComponent(); + } + + public override void SetModule(Module module) {} } } diff --git a/Assets/Station46/Modules/Orb.meta b/Assets/Station46/Modules/Orb.meta deleted file mode 100644 index a3a335a..0000000 --- a/Assets/Station46/Modules/Orb.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: d06aef4638594f568031f531b1f91800 -timeCreated: 1683641011 \ No newline at end of file diff --git a/Assets/Station46/Modules/Orb/Materials.meta b/Assets/Station46/Modules/Orb/Materials.meta deleted file mode 100644 index 57b89a2..0000000 --- a/Assets/Station46/Modules/Orb/Materials.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: d1194518bd374b5e91e2831099ff8986 -timeCreated: 1683641011 \ No newline at end of file diff --git a/Assets/Station46/Modules/Orb/Materials/Textures.meta b/Assets/Station46/Modules/Orb/Materials/Textures.meta deleted file mode 100644 index c9962a1..0000000 --- a/Assets/Station46/Modules/Orb/Materials/Textures.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 567ce76bb6c645eaa8bd408521cffc62 -timeCreated: 1683641011 \ No newline at end of file diff --git a/Assets/Station46/Modules/Orb/Models.meta b/Assets/Station46/Modules/Orb/Models.meta deleted file mode 100644 index bacaa72..0000000 --- a/Assets/Station46/Modules/Orb/Models.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: dfccfdf503e44ef0b6e56ecfafdf77e9 -timeCreated: 1683641011 \ No newline at end of file