diff --git a/Assets/Engine/Runtime/Engine.cs b/Assets/Engine/Runtime/Engine.cs index c04c64b..08aae7b 100644 --- a/Assets/Engine/Runtime/Engine.cs +++ b/Assets/Engine/Runtime/Engine.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using EscapeRoomEngine.Engine.Runtime.Measurements; using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Modules.Description; using EscapeRoomEngine.Engine.Runtime.UI; using EscapeRoomEngine.Engine.Runtime.Utilities; using NaughtyAttributes; diff --git a/Assets/Engine/Runtime/EngineTheme.cs b/Assets/Engine/Runtime/EngineTheme.cs index 7d4b506..a99a9ac 100644 --- a/Assets/Engine/Runtime/EngineTheme.cs +++ b/Assets/Engine/Runtime/EngineTheme.cs @@ -1,5 +1,5 @@ using System.Collections.Generic; -using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Modules.Description; using EscapeRoomEngine.Engine.Runtime.Utilities; using JetBrains.Annotations; using NaughtyAttributes; diff --git a/Assets/Engine/Runtime/Measurements/Measure.cs b/Assets/Engine/Runtime/Measurements/Measure.cs index f9c0c6c..a9af6ee 100644 --- a/Assets/Engine/Runtime/Measurements/Measure.cs +++ b/Assets/Engine/Runtime/Measurements/Measure.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; using System.Linq; -using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Modules.Description; using EscapeRoomEngine.Engine.Runtime.UI; using EscapeRoomEngine.Engine.Runtime.Utilities; using UnityEngine; diff --git a/Assets/Engine/Runtime/Measurements/Puzzle.cs b/Assets/Engine/Runtime/Measurements/Puzzle.cs index cd0edd8..e937273 100644 --- a/Assets/Engine/Runtime/Measurements/Puzzle.cs +++ b/Assets/Engine/Runtime/Measurements/Puzzle.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Linq; -using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Modules.Description; using EscapeRoomEngine.Engine.Runtime.Utilities; using JetBrains.Annotations; using Realms; diff --git a/Assets/Engine/Runtime/Measurements/PuzzleStorage.cs b/Assets/Engine/Runtime/Measurements/PuzzleStorage.cs index c4cd56f..2ee406c 100644 --- a/Assets/Engine/Runtime/Measurements/PuzzleStorage.cs +++ b/Assets/Engine/Runtime/Measurements/PuzzleStorage.cs @@ -1,4 +1,4 @@ -using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Modules.Description; using EscapeRoomEngine.Engine.Runtime.UI; using Realms; using UnityEngine; diff --git a/Assets/Engine/Runtime/Modules/Description.meta b/Assets/Engine/Runtime/Modules/Description.meta new file mode 100644 index 0000000..cfdb38a --- /dev/null +++ b/Assets/Engine/Runtime/Modules/Description.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 748b8c37770b495bb52f2acb59ba5641 +timeCreated: 1683591555 \ No newline at end of file diff --git a/Assets/Engine/Runtime/Modules/DoorModuleDescription.cs b/Assets/Engine/Runtime/Modules/Description/DoorModuleDescription.cs similarity index 90% rename from Assets/Engine/Runtime/Modules/DoorModuleDescription.cs rename to Assets/Engine/Runtime/Modules/Description/DoorModuleDescription.cs index 88937ec..7530e60 100644 --- a/Assets/Engine/Runtime/Modules/DoorModuleDescription.cs +++ b/Assets/Engine/Runtime/Modules/Description/DoorModuleDescription.cs @@ -1,6 +1,6 @@ using UnityEngine; -namespace EscapeRoomEngine.Engine.Runtime.Modules +namespace EscapeRoomEngine.Engine.Runtime.Modules.Description { /// /// The for a . Includes the description of the connected door. diff --git a/Assets/Engine/Runtime/Modules/DoorModuleDescription.cs.meta b/Assets/Engine/Runtime/Modules/Description/DoorModuleDescription.cs.meta similarity index 100% rename from Assets/Engine/Runtime/Modules/DoorModuleDescription.cs.meta rename to Assets/Engine/Runtime/Modules/Description/DoorModuleDescription.cs.meta diff --git a/Assets/Engine/Runtime/Modules/ModuleDescription.cs b/Assets/Engine/Runtime/Modules/Description/ModuleDescription.cs similarity index 89% rename from Assets/Engine/Runtime/Modules/ModuleDescription.cs rename to Assets/Engine/Runtime/Modules/Description/ModuleDescription.cs index 47be1b1..8944d89 100644 --- a/Assets/Engine/Runtime/Modules/ModuleDescription.cs +++ b/Assets/Engine/Runtime/Modules/Description/ModuleDescription.cs @@ -1,9 +1,10 @@ using System.Collections.Generic; +using EscapeRoomEngine.Engine.Runtime.Modules.State; using EscapeRoomEngine.Engine.Runtime.Requirements; using NaughtyAttributes; using UnityEngine; -namespace EscapeRoomEngine.Engine.Runtime.Modules +namespace EscapeRoomEngine.Engine.Runtime.Modules.Description { /// /// The description of a specific module variant. Includes any requirements, the types and the module state that should be initialised with the module. diff --git a/Assets/Engine/Runtime/Modules/ModuleDescription.cs.meta b/Assets/Engine/Runtime/Modules/Description/ModuleDescription.cs.meta similarity index 100% rename from Assets/Engine/Runtime/Modules/ModuleDescription.cs.meta rename to Assets/Engine/Runtime/Modules/Description/ModuleDescription.cs.meta diff --git a/Assets/Engine/Runtime/Modules/PuzzleModuleDescription.cs b/Assets/Engine/Runtime/Modules/Description/PuzzleModuleDescription.cs similarity index 95% rename from Assets/Engine/Runtime/Modules/PuzzleModuleDescription.cs rename to Assets/Engine/Runtime/Modules/Description/PuzzleModuleDescription.cs index e0bd22a..f347fac 100644 --- a/Assets/Engine/Runtime/Modules/PuzzleModuleDescription.cs +++ b/Assets/Engine/Runtime/Modules/Description/PuzzleModuleDescription.cs @@ -1,7 +1,7 @@ using NaughtyAttributes; using UnityEngine; -namespace EscapeRoomEngine.Engine.Runtime.Modules +namespace EscapeRoomEngine.Engine.Runtime.Modules.Description { /// /// The for a . Includes the description of the connected door. diff --git a/Assets/Engine/Runtime/Modules/PuzzleModuleDescription.cs.meta b/Assets/Engine/Runtime/Modules/Description/PuzzleModuleDescription.cs.meta similarity index 100% rename from Assets/Engine/Runtime/Modules/PuzzleModuleDescription.cs.meta rename to Assets/Engine/Runtime/Modules/Description/PuzzleModuleDescription.cs.meta diff --git a/Assets/Engine/Runtime/Modules/DoorModule.cs b/Assets/Engine/Runtime/Modules/DoorModule.cs index 6367352..8861d60 100644 --- a/Assets/Engine/Runtime/Modules/DoorModule.cs +++ b/Assets/Engine/Runtime/Modules/DoorModule.cs @@ -1,4 +1,6 @@ using System; +using EscapeRoomEngine.Engine.Runtime.Modules.Description; +using EscapeRoomEngine.Engine.Runtime.Modules.State; using EscapeRoomEngine.Engine.Runtime.Utilities; using UnityEngine; diff --git a/Assets/Engine/Runtime/Modules/Module.cs b/Assets/Engine/Runtime/Modules/Module.cs index c3503fb..aa76efe 100644 --- a/Assets/Engine/Runtime/Modules/Module.cs +++ b/Assets/Engine/Runtime/Modules/Module.cs @@ -1,6 +1,8 @@ using System; using System.Collections.Generic; using System.Linq; +using EscapeRoomEngine.Engine.Runtime.Modules.Description; +using EscapeRoomEngine.Engine.Runtime.Modules.State; using EscapeRoomEngine.Engine.Runtime.Requirements; using EscapeRoomEngine.Engine.Runtime.Utilities; using UnityEngine; diff --git a/Assets/Engine/Runtime/Modules/PuzzleModule.cs b/Assets/Engine/Runtime/Modules/PuzzleModule.cs index efd2f53..bec5b82 100644 --- a/Assets/Engine/Runtime/Modules/PuzzleModule.cs +++ b/Assets/Engine/Runtime/Modules/PuzzleModule.cs @@ -1,4 +1,6 @@ -using EscapeRoomEngine.Engine.Runtime.Utilities; +using EscapeRoomEngine.Engine.Runtime.Modules.Description; +using EscapeRoomEngine.Engine.Runtime.Modules.State; +using EscapeRoomEngine.Engine.Runtime.Utilities; using UnityEngine; namespace EscapeRoomEngine.Engine.Runtime.Modules diff --git a/Assets/Engine/Runtime/Modules/State.meta b/Assets/Engine/Runtime/Modules/State.meta new file mode 100644 index 0000000..d96e10a --- /dev/null +++ b/Assets/Engine/Runtime/Modules/State.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 4cc6fbbfd1284b65841ac814a9936b9f +timeCreated: 1683591527 \ No newline at end of file diff --git a/Assets/Engine/Runtime/Modules/DoorState.cs b/Assets/Engine/Runtime/Modules/State/DoorState.cs similarity index 97% rename from Assets/Engine/Runtime/Modules/DoorState.cs rename to Assets/Engine/Runtime/Modules/State/DoorState.cs index 516fb15..e5eb344 100644 --- a/Assets/Engine/Runtime/Modules/DoorState.cs +++ b/Assets/Engine/Runtime/Modules/State/DoorState.cs @@ -1,7 +1,7 @@ using EscapeRoomEngine.Engine.Runtime.Utilities; using NaughtyAttributes; -namespace EscapeRoomEngine.Engine.Runtime.Modules +namespace EscapeRoomEngine.Engine.Runtime.Modules.State { public enum DoorEventType { diff --git a/Assets/Engine/Runtime/Modules/DoorState.cs.meta b/Assets/Engine/Runtime/Modules/State/DoorState.cs.meta similarity index 100% rename from Assets/Engine/Runtime/Modules/DoorState.cs.meta rename to Assets/Engine/Runtime/Modules/State/DoorState.cs.meta diff --git a/Assets/Engine/Runtime/Modules/ModuleState.cs b/Assets/Engine/Runtime/Modules/State/ModuleState.cs similarity index 90% rename from Assets/Engine/Runtime/Modules/ModuleState.cs rename to Assets/Engine/Runtime/Modules/State/ModuleState.cs index e0886cd..a024fce 100644 --- a/Assets/Engine/Runtime/Modules/ModuleState.cs +++ b/Assets/Engine/Runtime/Modules/State/ModuleState.cs @@ -1,6 +1,6 @@ using UnityEngine; -namespace EscapeRoomEngine.Engine.Runtime.Modules +namespace EscapeRoomEngine.Engine.Runtime.Modules.State { /// /// An abstract module state. Example implementations are and . diff --git a/Assets/Engine/Runtime/Modules/ModuleState.cs.meta b/Assets/Engine/Runtime/Modules/State/ModuleState.cs.meta similarity index 100% rename from Assets/Engine/Runtime/Modules/ModuleState.cs.meta rename to Assets/Engine/Runtime/Modules/State/ModuleState.cs.meta diff --git a/Assets/Engine/Runtime/Modules/PuzzleState.cs b/Assets/Engine/Runtime/Modules/State/PuzzleState.cs similarity index 97% rename from Assets/Engine/Runtime/Modules/PuzzleState.cs rename to Assets/Engine/Runtime/Modules/State/PuzzleState.cs index e40c194..7a2a3bb 100644 --- a/Assets/Engine/Runtime/Modules/PuzzleState.cs +++ b/Assets/Engine/Runtime/Modules/State/PuzzleState.cs @@ -2,11 +2,10 @@ using EscapeRoomEngine.Engine.Runtime.Utilities; using JetBrains.Annotations; using NaughtyAttributes; -using UnityEngine; using Logger = EscapeRoomEngine.Engine.Runtime.Utilities.Logger; using LogType = EscapeRoomEngine.Engine.Runtime.Utilities.LogType; -namespace EscapeRoomEngine.Engine.Runtime.Modules +namespace EscapeRoomEngine.Engine.Runtime.Modules.State { public enum PuzzleEventType { diff --git a/Assets/Engine/Runtime/Modules/PuzzleState.cs.meta b/Assets/Engine/Runtime/Modules/State/PuzzleState.cs.meta similarity index 100% rename from Assets/Engine/Runtime/Modules/PuzzleState.cs.meta rename to Assets/Engine/Runtime/Modules/State/PuzzleState.cs.meta diff --git a/Assets/Engine/Runtime/Modules/Spawn.cs b/Assets/Engine/Runtime/Modules/State/Spawn.cs similarity index 78% rename from Assets/Engine/Runtime/Modules/Spawn.cs rename to Assets/Engine/Runtime/Modules/State/Spawn.cs index 5cb0e90..9294af7 100644 --- a/Assets/Engine/Runtime/Modules/Spawn.cs +++ b/Assets/Engine/Runtime/Modules/State/Spawn.cs @@ -1,4 +1,4 @@ -namespace EscapeRoomEngine.Engine.Runtime.Modules +namespace EscapeRoomEngine.Engine.Runtime.Modules.State { /// /// The spawn door is used in the first room. diff --git a/Assets/Engine/Runtime/Modules/Spawn.cs.meta b/Assets/Engine/Runtime/Modules/State/Spawn.cs.meta similarity index 100% rename from Assets/Engine/Runtime/Modules/Spawn.cs.meta rename to Assets/Engine/Runtime/Modules/State/Spawn.cs.meta diff --git a/Assets/Engine/Runtime/Requirements/Placement.meta b/Assets/Engine/Runtime/Requirements/Placement.meta new file mode 100644 index 0000000..8f5179b --- /dev/null +++ b/Assets/Engine/Runtime/Requirements/Placement.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 730542e39b51427399729e60f1405d5c +timeCreated: 1683591635 \ No newline at end of file diff --git a/Assets/Engine/Runtime/Requirements/FaceSpaceCenter.cs b/Assets/Engine/Runtime/Requirements/Placement/FaceSpaceCenter.cs similarity index 89% rename from Assets/Engine/Runtime/Requirements/FaceSpaceCenter.cs rename to Assets/Engine/Runtime/Requirements/Placement/FaceSpaceCenter.cs index f0e14e8..d934abc 100644 --- a/Assets/Engine/Runtime/Requirements/FaceSpaceCenter.cs +++ b/Assets/Engine/Runtime/Requirements/Placement/FaceSpaceCenter.cs @@ -1,8 +1,9 @@ using System.Collections.Generic; using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Utilities; using UnityEngine; -namespace EscapeRoomEngine.Engine.Runtime.Requirements +namespace EscapeRoomEngine.Engine.Runtime.Requirements.Placement { /// /// This requirement guarantees that the module faces the center of the space. @@ -10,7 +11,7 @@ namespace EscapeRoomEngine.Engine.Runtime.Requirements [CreateAssetMenu(menuName = "Requirements/Face Space Center")] public class FaceSpaceCenter : PlacementRequirement { - protected override List FilterCandidates(List candidates, Module module, Space space) + protected override List FilterCandidates(List candidates, Module module, Space space) { float width = space.rrPlacement.size.x; float length = space.rrPlacement.size.y; diff --git a/Assets/Engine/Runtime/Requirements/FaceSpaceCenter.cs.meta b/Assets/Engine/Runtime/Requirements/Placement/FaceSpaceCenter.cs.meta similarity index 100% rename from Assets/Engine/Runtime/Requirements/FaceSpaceCenter.cs.meta rename to Assets/Engine/Runtime/Requirements/Placement/FaceSpaceCenter.cs.meta diff --git a/Assets/Engine/Runtime/Requirements/LockOrientation.cs b/Assets/Engine/Runtime/Requirements/Placement/LockOrientation.cs similarity index 67% rename from Assets/Engine/Runtime/Requirements/LockOrientation.cs rename to Assets/Engine/Runtime/Requirements/Placement/LockOrientation.cs index 0988d01..0c48e08 100644 --- a/Assets/Engine/Runtime/Requirements/LockOrientation.cs +++ b/Assets/Engine/Runtime/Requirements/Placement/LockOrientation.cs @@ -1,8 +1,9 @@ using System.Collections.Generic; using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Utilities; using UnityEngine; -namespace EscapeRoomEngine.Engine.Runtime.Requirements +namespace EscapeRoomEngine.Engine.Runtime.Requirements.Placement { /// /// This requirement forces a specific orientation. @@ -12,7 +13,7 @@ namespace EscapeRoomEngine.Engine.Runtime.Requirements { public Orientation orientation; - protected override List FilterCandidates(List candidates, Module module, Space space) + protected override List FilterCandidates(List candidates, Module module, Space space) { candidates.RemoveAll(candidate => candidate.orientation != orientation); diff --git a/Assets/Engine/Runtime/Requirements/LockOrientation.cs.meta b/Assets/Engine/Runtime/Requirements/Placement/LockOrientation.cs.meta similarity index 100% rename from Assets/Engine/Runtime/Requirements/LockOrientation.cs.meta rename to Assets/Engine/Runtime/Requirements/Placement/LockOrientation.cs.meta diff --git a/Assets/Engine/Runtime/Requirements/NoOverlap.cs b/Assets/Engine/Runtime/Requirements/Placement/NoOverlap.cs similarity index 86% rename from Assets/Engine/Runtime/Requirements/NoOverlap.cs rename to Assets/Engine/Runtime/Requirements/Placement/NoOverlap.cs index e461007..512a74b 100644 --- a/Assets/Engine/Runtime/Requirements/NoOverlap.cs +++ b/Assets/Engine/Runtime/Requirements/Placement/NoOverlap.cs @@ -2,7 +2,7 @@ using EscapeRoomEngine.Engine.Runtime.Modules; using UnityEngine; -namespace EscapeRoomEngine.Engine.Runtime.Requirements +namespace EscapeRoomEngine.Engine.Runtime.Requirements.Placement { /// /// This requirement prevents modules from overlapping. For two models not to overlap, both of them need this requirement. @@ -10,7 +10,7 @@ namespace EscapeRoomEngine.Engine.Runtime.Requirements [CreateAssetMenu(menuName = "Requirements/No Overlap")] public class NoOverlap : PlacementRequirement { - protected override List FilterCandidates(List candidates, Module module, Space space) + protected override List FilterCandidates(List candidates, Module module, Space space) { space.AllModules.ForEach(other => // for all other module ... other.srPlacement.ForEachPosition(otherPosition => // ... positions ... diff --git a/Assets/Engine/Runtime/Requirements/NoOverlap.cs.meta b/Assets/Engine/Runtime/Requirements/Placement/NoOverlap.cs.meta similarity index 100% rename from Assets/Engine/Runtime/Requirements/NoOverlap.cs.meta rename to Assets/Engine/Runtime/Requirements/Placement/NoOverlap.cs.meta diff --git a/Assets/Engine/Runtime/Requirements/PlaceAlongSpaceEdges.cs b/Assets/Engine/Runtime/Requirements/Placement/PlaceAlongSpaceEdges.cs similarity index 82% rename from Assets/Engine/Runtime/Requirements/PlaceAlongSpaceEdges.cs rename to Assets/Engine/Runtime/Requirements/Placement/PlaceAlongSpaceEdges.cs index f45047a..714369a 100644 --- a/Assets/Engine/Runtime/Requirements/PlaceAlongSpaceEdges.cs +++ b/Assets/Engine/Runtime/Requirements/Placement/PlaceAlongSpaceEdges.cs @@ -2,7 +2,7 @@ using EscapeRoomEngine.Engine.Runtime.Modules; using UnityEngine; -namespace EscapeRoomEngine.Engine.Runtime.Requirements +namespace EscapeRoomEngine.Engine.Runtime.Requirements.Placement { /// /// This requirement guarantees that the back side of the module is placed at the edge of the space. @@ -10,7 +10,7 @@ namespace EscapeRoomEngine.Engine.Runtime.Requirements [CreateAssetMenu(menuName = "Requirements/Place Along Space Edges")] public class PlaceAlongSpaceEdges : PlacementRequirement { - protected override List FilterCandidates(List candidates, Module module, Space space) + protected override List FilterCandidates(List candidates, Module module, Space space) { var sizeMinusOne = space.rrPlacement.size - Vector2Int.one; diff --git a/Assets/Engine/Runtime/Requirements/PlaceAlongSpaceEdges.cs.meta b/Assets/Engine/Runtime/Requirements/Placement/PlaceAlongSpaceEdges.cs.meta similarity index 100% rename from Assets/Engine/Runtime/Requirements/PlaceAlongSpaceEdges.cs.meta rename to Assets/Engine/Runtime/Requirements/Placement/PlaceAlongSpaceEdges.cs.meta diff --git a/Assets/Engine/Runtime/Requirements/PlaceAnywhere.cs b/Assets/Engine/Runtime/Requirements/Placement/PlaceAnywhere.cs similarity index 66% rename from Assets/Engine/Runtime/Requirements/PlaceAnywhere.cs rename to Assets/Engine/Runtime/Requirements/Placement/PlaceAnywhere.cs index ec330e4..6e2c3df 100644 --- a/Assets/Engine/Runtime/Requirements/PlaceAnywhere.cs +++ b/Assets/Engine/Runtime/Requirements/Placement/PlaceAnywhere.cs @@ -2,7 +2,7 @@ using EscapeRoomEngine.Engine.Runtime.Modules; using UnityEngine; -namespace EscapeRoomEngine.Engine.Runtime.Requirements +namespace EscapeRoomEngine.Engine.Runtime.Requirements.Placement { /// /// This requirement allows any placement. Used for testing purposes. @@ -10,7 +10,7 @@ namespace EscapeRoomEngine.Engine.Runtime.Requirements [CreateAssetMenu(menuName = "Requirements/Place Anywhere")] public class PlaceAnywhere : PlacementRequirement { - protected override List FilterCandidates(List candidates, Module module, Space space) + protected override List FilterCandidates(List candidates, Module module, Space space) { return candidates; } diff --git a/Assets/Engine/Runtime/Requirements/PlaceAnywhere.cs.meta b/Assets/Engine/Runtime/Requirements/Placement/PlaceAnywhere.cs.meta similarity index 100% rename from Assets/Engine/Runtime/Requirements/PlaceAnywhere.cs.meta rename to Assets/Engine/Runtime/Requirements/Placement/PlaceAnywhere.cs.meta diff --git a/Assets/Engine/Runtime/Requirements/PlaceWithRelatedModule.cs b/Assets/Engine/Runtime/Requirements/Placement/PlaceWithRelatedModule.cs similarity index 58% rename from Assets/Engine/Runtime/Requirements/PlaceWithRelatedModule.cs rename to Assets/Engine/Runtime/Requirements/Placement/PlaceWithRelatedModule.cs index d36aea0..f8fc645 100644 --- a/Assets/Engine/Runtime/Requirements/PlaceWithRelatedModule.cs +++ b/Assets/Engine/Runtime/Requirements/Placement/PlaceWithRelatedModule.cs @@ -2,7 +2,7 @@ using EscapeRoomEngine.Engine.Runtime.Modules; using UnityEngine; -namespace EscapeRoomEngine.Engine.Runtime.Requirements +namespace EscapeRoomEngine.Engine.Runtime.Requirements.Placement { /// /// This requirement places a module exactly in the same position as its first related module. @@ -10,9 +10,9 @@ namespace EscapeRoomEngine.Engine.Runtime.Requirements [CreateAssetMenu(menuName = "Requirements/Place With Related Module")] public class PlaceWithRelatedModule : PlacementRequirement { - protected override List FilterCandidates(List candidates, Module module, Space space) + protected override List FilterCandidates(List candidates, Module module, Space space) { - return new List { module.relatedModules[0].srPlacement }; + return new List { module.relatedModules[0].srPlacement }; } } } \ No newline at end of file diff --git a/Assets/Engine/Runtime/Requirements/PlaceWithRelatedModule.cs.meta b/Assets/Engine/Runtime/Requirements/Placement/PlaceWithRelatedModule.cs.meta similarity index 100% rename from Assets/Engine/Runtime/Requirements/PlaceWithRelatedModule.cs.meta rename to Assets/Engine/Runtime/Requirements/Placement/PlaceWithRelatedModule.cs.meta diff --git a/Assets/Engine/Runtime/Requirements/PlacementRequirement.cs b/Assets/Engine/Runtime/Requirements/PlacementRequirement.cs index ddf86ee..9381482 100644 --- a/Assets/Engine/Runtime/Requirements/PlacementRequirement.cs +++ b/Assets/Engine/Runtime/Requirements/PlacementRequirement.cs @@ -8,9 +8,9 @@ namespace EscapeRoomEngine.Engine.Runtime.Requirements /// /// The main class any placement requirement inherits from. To place a module, every possible placement inside the space is put into a list of candidates that is then filtered by all placement requirements. /// - public abstract class PlacementRequirement : Requirement + public abstract class PlacementRequirement : Requirement { - protected abstract override List FilterCandidates(List candidates, Module module, Space space); + protected abstract override List FilterCandidates(List candidates, Module module, Space space); public static bool TryPlacing(Module module, Space space) { diff --git a/Assets/Engine/Runtime/Requirements/Precondition.meta b/Assets/Engine/Runtime/Requirements/Precondition.meta new file mode 100644 index 0000000..694b30c --- /dev/null +++ b/Assets/Engine/Runtime/Requirements/Precondition.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e6ea2e0c5bff467b8c9d720e958f87f8 +timeCreated: 1683591641 \ No newline at end of file diff --git a/Assets/Engine/Runtime/Requirements/RelatedModule.cs b/Assets/Engine/Runtime/Requirements/Precondition/RelatedModule.cs similarity index 88% rename from Assets/Engine/Runtime/Requirements/RelatedModule.cs rename to Assets/Engine/Runtime/Requirements/Precondition/RelatedModule.cs index a1fc701..ce367dd 100644 --- a/Assets/Engine/Runtime/Requirements/RelatedModule.cs +++ b/Assets/Engine/Runtime/Requirements/Precondition/RelatedModule.cs @@ -1,9 +1,10 @@ using System.Collections.Generic; using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Modules.Description; using NaughtyAttributes; using UnityEngine; -namespace EscapeRoomEngine.Engine.Runtime.Requirements +namespace EscapeRoomEngine.Engine.Runtime.Requirements.Precondition { /// /// This requirement guarantees that a module is placed in the same space as its related module. diff --git a/Assets/Engine/Runtime/Requirements/RelatedModule.cs.meta b/Assets/Engine/Runtime/Requirements/Precondition/RelatedModule.cs.meta similarity index 100% rename from Assets/Engine/Runtime/Requirements/RelatedModule.cs.meta rename to Assets/Engine/Runtime/Requirements/Precondition/RelatedModule.cs.meta diff --git a/Assets/Engine/Runtime/Room.cs b/Assets/Engine/Runtime/Room.cs index 2b08d14..abb697a 100644 --- a/Assets/Engine/Runtime/Room.cs +++ b/Assets/Engine/Runtime/Room.cs @@ -2,6 +2,8 @@ using System.Collections.Generic; using System.Linq; using EscapeRoomEngine.Engine.Runtime.Measurements; using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Modules.Description; +using EscapeRoomEngine.Engine.Runtime.Modules.State; using UnityEngine; using Logger = EscapeRoomEngine.Engine.Runtime.Utilities.Logger; using LogType = EscapeRoomEngine.Engine.Runtime.Utilities.LogType; diff --git a/Assets/Engine/Runtime/Space.cs b/Assets/Engine/Runtime/Space.cs index 719c3b9..d51944b 100644 --- a/Assets/Engine/Runtime/Space.cs +++ b/Assets/Engine/Runtime/Space.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Modules.Description; using EscapeRoomEngine.Engine.Runtime.Utilities; using UnityEngine; using Logger = EscapeRoomEngine.Engine.Runtime.Utilities.Logger; diff --git a/Assets/Engine/Runtime/UI/Elements.meta b/Assets/Engine/Runtime/UI/Elements.meta new file mode 100644 index 0000000..a394645 --- /dev/null +++ b/Assets/Engine/Runtime/UI/Elements.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: c13c76161df849bfb0bd769d1756a66f +timeCreated: 1683591920 \ No newline at end of file diff --git a/Assets/Engine/Runtime/UI/PauseButton.cs b/Assets/Engine/Runtime/UI/Elements/PauseButton.cs similarity index 91% rename from Assets/Engine/Runtime/UI/PauseButton.cs rename to Assets/Engine/Runtime/UI/Elements/PauseButton.cs index 040424b..952942a 100644 --- a/Assets/Engine/Runtime/UI/PauseButton.cs +++ b/Assets/Engine/Runtime/UI/Elements/PauseButton.cs @@ -2,7 +2,7 @@ using NaughtyAttributes; using UnityEngine; using UnityEngine.UI; -namespace EscapeRoomEngine.Engine.Runtime.UI +namespace EscapeRoomEngine.Engine.Runtime.UI.Elements { /// /// This component is responsible to change the icon of the pause button depending on the game state. diff --git a/Assets/Engine/Runtime/UI/PauseButton.cs.meta b/Assets/Engine/Runtime/UI/Elements/PauseButton.cs.meta similarity index 100% rename from Assets/Engine/Runtime/UI/PauseButton.cs.meta rename to Assets/Engine/Runtime/UI/Elements/PauseButton.cs.meta diff --git a/Assets/Engine/Runtime/UI/PuzzlePlan.cs b/Assets/Engine/Runtime/UI/Elements/PuzzlePlan.cs similarity index 94% rename from Assets/Engine/Runtime/UI/PuzzlePlan.cs rename to Assets/Engine/Runtime/UI/Elements/PuzzlePlan.cs index 02787e8..1fdce69 100644 --- a/Assets/Engine/Runtime/UI/PuzzlePlan.cs +++ b/Assets/Engine/Runtime/UI/Elements/PuzzlePlan.cs @@ -1,9 +1,9 @@ using System.Collections.Generic; -using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Modules.Description; using NaughtyAttributes; using UnityEngine; -namespace EscapeRoomEngine.Engine.Runtime.UI +namespace EscapeRoomEngine.Engine.Runtime.UI.Elements { /// /// The puzzle plan UI component that displays the current puzzle plan in the game master window. diff --git a/Assets/Engine/Runtime/UI/PuzzlePlan.cs.meta b/Assets/Engine/Runtime/UI/Elements/PuzzlePlan.cs.meta similarity index 100% rename from Assets/Engine/Runtime/UI/PuzzlePlan.cs.meta rename to Assets/Engine/Runtime/UI/Elements/PuzzlePlan.cs.meta diff --git a/Assets/Engine/Runtime/UI/PuzzlePlanEntry.cs b/Assets/Engine/Runtime/UI/Elements/PuzzlePlanEntry.cs similarity index 89% rename from Assets/Engine/Runtime/UI/PuzzlePlanEntry.cs rename to Assets/Engine/Runtime/UI/Elements/PuzzlePlanEntry.cs index d84535b..56a90e5 100644 --- a/Assets/Engine/Runtime/UI/PuzzlePlanEntry.cs +++ b/Assets/Engine/Runtime/UI/Elements/PuzzlePlanEntry.cs @@ -1,11 +1,11 @@ using EscapeRoomEngine.Engine.Runtime.Measurements; -using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Modules.Description; using EscapeRoomEngine.Engine.Runtime.Utilities; using NaughtyAttributes; using UnityEngine; using UnityEngine.UI; -namespace EscapeRoomEngine.Engine.Runtime.UI +namespace EscapeRoomEngine.Engine.Runtime.UI.Elements { /// /// An entry in the UI component that displays the name and estimated time for a puzzle. diff --git a/Assets/Engine/Runtime/UI/PuzzlePlanEntry.cs.meta b/Assets/Engine/Runtime/UI/Elements/PuzzlePlanEntry.cs.meta similarity index 100% rename from Assets/Engine/Runtime/UI/PuzzlePlanEntry.cs.meta rename to Assets/Engine/Runtime/UI/Elements/PuzzlePlanEntry.cs.meta diff --git a/Assets/Engine/Runtime/UI/GameControl.cs b/Assets/Engine/Runtime/UI/GameControl.cs index 724f05c..fca9e15 100644 --- a/Assets/Engine/Runtime/UI/GameControl.cs +++ b/Assets/Engine/Runtime/UI/GameControl.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using EscapeRoomEngine.Engine.Runtime.Measurements; -using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Modules.Description; +using EscapeRoomEngine.Engine.Runtime.UI.Elements; using EscapeRoomEngine.Engine.Runtime.Utilities; using NaughtyAttributes; using UnityEngine; diff --git a/Assets/Engine/Runtime/Orientation.cs b/Assets/Engine/Runtime/Utilities/Orientation.cs similarity index 96% rename from Assets/Engine/Runtime/Orientation.cs rename to Assets/Engine/Runtime/Utilities/Orientation.cs index 5d2bc06..6b1acd4 100644 --- a/Assets/Engine/Runtime/Orientation.cs +++ b/Assets/Engine/Runtime/Utilities/Orientation.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; -namespace EscapeRoomEngine.Engine.Runtime +namespace EscapeRoomEngine.Engine.Runtime.Utilities { public enum Orientation { diff --git a/Assets/Engine/Runtime/Orientation.cs.meta b/Assets/Engine/Runtime/Utilities/Orientation.cs.meta similarity index 100% rename from Assets/Engine/Runtime/Orientation.cs.meta rename to Assets/Engine/Runtime/Utilities/Orientation.cs.meta diff --git a/Assets/Engine/Runtime/Placement.cs b/Assets/Engine/Runtime/Utilities/Placement.cs similarity index 98% rename from Assets/Engine/Runtime/Placement.cs rename to Assets/Engine/Runtime/Utilities/Placement.cs index 7cf1295..f1b6d14 100644 --- a/Assets/Engine/Runtime/Placement.cs +++ b/Assets/Engine/Runtime/Utilities/Placement.cs @@ -1,9 +1,8 @@ using System; using System.Collections.Generic; using UnityEngine; -using Range = EscapeRoomEngine.Engine.Runtime.Utilities.Range; -namespace EscapeRoomEngine.Engine.Runtime +namespace EscapeRoomEngine.Engine.Runtime.Utilities { /// /// A placement defines the position, size and orientation of a module or space. diff --git a/Assets/Engine/Runtime/Placement.cs.meta b/Assets/Engine/Runtime/Utilities/Placement.cs.meta similarity index 100% rename from Assets/Engine/Runtime/Placement.cs.meta rename to Assets/Engine/Runtime/Utilities/Placement.cs.meta diff --git a/Assets/Portal/Runtime/Portal.cs b/Assets/Portal/Runtime/Portal.cs index 04b71d9..a3f3da2 100644 --- a/Assets/Portal/Runtime/Portal.cs +++ b/Assets/Portal/Runtime/Portal.cs @@ -1,6 +1,6 @@ using System; using System.Collections.Generic; -using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Modules.State; using EscapeRoomEngine.Engine.Runtime.Utilities; using EscapeRoomEngine.VR.Runtime; using NaughtyAttributes; diff --git a/Assets/Station46/Assets/Station 46.asset b/Assets/Station46/Assets/Station 46.asset index 6623aac..3ae4c03 100644 --- a/Assets/Station46/Assets/Station 46.asset +++ b/Assets/Station46/Assets/Station 46.asset @@ -12,8 +12,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 28d04249c1c4438da94b524e7d4afff2, type: 3} m_Name: Station 46 m_EditorClassIdentifier: - minRoomSize: {x: 3, y: 3} - playSpace: {x: 4, y: 3} + minRoomSize: {x: 4, y: 2} + playSpace: {x: 4, y: 2} spaceTile: {fileID: 3229991053255736984, guid: b8f192f7cebe686468af6b1a71c4605b, type: 3} environment: {fileID: 5743657079028767629, guid: 17ecdbaca50efaa4ab503614dfec54a8, diff --git a/Assets/Engine/Runtime/Modules/CyclicStepPuzzle.cs b/Assets/Station46/Runtime/CyclicStepPuzzle.cs similarity index 95% rename from Assets/Engine/Runtime/Modules/CyclicStepPuzzle.cs rename to Assets/Station46/Runtime/CyclicStepPuzzle.cs index 22a2490..96a088e 100644 --- a/Assets/Engine/Runtime/Modules/CyclicStepPuzzle.cs +++ b/Assets/Station46/Runtime/CyclicStepPuzzle.cs @@ -1,7 +1,7 @@ using NaughtyAttributes; using UnityEngine; -namespace EscapeRoomEngine.Engine.Runtime.Modules +namespace EscapeRoomEngine.Station46.Runtime { /// /// A whose steps are considered a cycle that can be started anywhere and must be stepped through once. diff --git a/Assets/Engine/Runtime/Modules/CyclicStepPuzzle.cs.meta b/Assets/Station46/Runtime/CyclicStepPuzzle.cs.meta similarity index 100% rename from Assets/Engine/Runtime/Modules/CyclicStepPuzzle.cs.meta rename to Assets/Station46/Runtime/CyclicStepPuzzle.cs.meta diff --git a/Assets/Station46/Runtime/Dispenser/Dispenser.cs b/Assets/Station46/Runtime/Dispenser/Dispenser.cs index 23772d6..2e7afed 100644 --- a/Assets/Station46/Runtime/Dispenser/Dispenser.cs +++ b/Assets/Station46/Runtime/Dispenser/Dispenser.cs @@ -1,4 +1,5 @@ using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Modules.State; using NaughtyAttributes; using UnityEngine; using Logger = EscapeRoomEngine.Engine.Runtime.Utilities.Logger; diff --git a/Assets/Station46/Runtime/Hoop.cs b/Assets/Station46/Runtime/Hoop.cs index 1372459..d9cafce 100644 --- a/Assets/Station46/Runtime/Hoop.cs +++ b/Assets/Station46/Runtime/Hoop.cs @@ -1,6 +1,7 @@ using System.Collections; using System.Collections.Generic; using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Modules.State; using EscapeRoomEngine.Engine.Runtime.Utilities; using EscapeRoomEngine.Station46.Runtime.Dispenser; using NaughtyAttributes; diff --git a/Assets/Station46/Runtime/Portal/Station46Portal.cs b/Assets/Station46/Runtime/Portal/Station46Portal.cs index 2090f1d..f843fd2 100644 --- a/Assets/Station46/Runtime/Portal/Station46Portal.cs +++ b/Assets/Station46/Runtime/Portal/Station46Portal.cs @@ -1,4 +1,4 @@ -using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Modules.State; using UnityEngine; namespace EscapeRoomEngine.Station46.Runtime.Portal diff --git a/Assets/Station46/Runtime/Puzzle A/Ball.cs b/Assets/Station46/Runtime/Puzzle A/Ball.cs index c145188..14a9b9e 100644 --- a/Assets/Station46/Runtime/Puzzle A/Ball.cs +++ b/Assets/Station46/Runtime/Puzzle A/Ball.cs @@ -1,4 +1,5 @@ using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Modules.State; using NaughtyAttributes; namespace EscapeRoomEngine.Station46.Runtime.Puzzle_A diff --git a/Assets/Station46/Runtime/Puzzle A/Terminal.cs b/Assets/Station46/Runtime/Puzzle A/Terminal.cs index 6071a49..b0af5ef 100644 --- a/Assets/Station46/Runtime/Puzzle A/Terminal.cs +++ b/Assets/Station46/Runtime/Puzzle A/Terminal.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.Linq; using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Modules.State; using EscapeRoomEngine.Engine.Runtime.Utilities; using JetBrains.Annotations; using NaughtyAttributes; diff --git a/Assets/Station46/Runtime/Puzzle B/PuzzleB.cs b/Assets/Station46/Runtime/Puzzle B/PuzzleB.cs index 25816e6..b9162e8 100644 --- a/Assets/Station46/Runtime/Puzzle B/PuzzleB.cs +++ b/Assets/Station46/Runtime/Puzzle B/PuzzleB.cs @@ -1,7 +1,8 @@ using System; using System.Collections.Generic; using EscapeRoomEngine.Engine.Runtime; -using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Modules.State; +using EscapeRoomEngine.Engine.Runtime.Utilities; using EscapeRoomEngine.Station46.Runtime.Puzzle_A; using JetBrains.Annotations; using NaughtyAttributes; diff --git a/Assets/Station46/Runtime/Puzzle C/Holes.cs b/Assets/Station46/Runtime/Puzzle C/Holes.cs index 52ed3a2..d2874b4 100644 --- a/Assets/Station46/Runtime/Puzzle C/Holes.cs +++ b/Assets/Station46/Runtime/Puzzle C/Holes.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using EscapeRoomEngine.Engine.Runtime.Modules; +using EscapeRoomEngine.Engine.Runtime.Modules.State; using EscapeRoomEngine.Engine.Runtime.Utilities; using NaughtyAttributes; using UnityEngine; diff --git a/Assets/Engine/Runtime/Modules/StatePuzzle.cs b/Assets/Station46/Runtime/StatePuzzle.cs similarity index 96% rename from Assets/Engine/Runtime/Modules/StatePuzzle.cs rename to Assets/Station46/Runtime/StatePuzzle.cs index 491fada..030a913 100644 --- a/Assets/Engine/Runtime/Modules/StatePuzzle.cs +++ b/Assets/Station46/Runtime/StatePuzzle.cs @@ -1,10 +1,11 @@ using System; using System.Collections.Generic; +using EscapeRoomEngine.Engine.Runtime.Modules.State; using JetBrains.Annotations; using NaughtyAttributes; using UnityEngine; -namespace EscapeRoomEngine.Engine.Runtime.Modules +namespace EscapeRoomEngine.Station46.Runtime { /// /// The of a puzzle that requires a specific state to be solved. diff --git a/Assets/Engine/Runtime/Modules/StatePuzzle.cs.meta b/Assets/Station46/Runtime/StatePuzzle.cs.meta similarity index 100% rename from Assets/Engine/Runtime/Modules/StatePuzzle.cs.meta rename to Assets/Station46/Runtime/StatePuzzle.cs.meta diff --git a/Assets/Engine/Runtime/Modules/StepPuzzle.cs b/Assets/Station46/Runtime/StepPuzzle.cs similarity index 96% rename from Assets/Engine/Runtime/Modules/StepPuzzle.cs rename to Assets/Station46/Runtime/StepPuzzle.cs index 5b692df..339c793 100644 --- a/Assets/Engine/Runtime/Modules/StepPuzzle.cs +++ b/Assets/Station46/Runtime/StepPuzzle.cs @@ -1,10 +1,11 @@ using System; +using EscapeRoomEngine.Engine.Runtime.Modules.State; using NaughtyAttributes; using UnityEngine; using Logger = EscapeRoomEngine.Engine.Runtime.Utilities.Logger; using LogType = EscapeRoomEngine.Engine.Runtime.Utilities.LogType; -namespace EscapeRoomEngine.Engine.Runtime.Modules +namespace EscapeRoomEngine.Station46.Runtime { /// /// The of a puzzle that includes a number of steps that need to be completed to solve it. diff --git a/Assets/Engine/Runtime/Modules/StepPuzzle.cs.meta b/Assets/Station46/Runtime/StepPuzzle.cs.meta similarity index 100% rename from Assets/Engine/Runtime/Modules/StepPuzzle.cs.meta rename to Assets/Station46/Runtime/StepPuzzle.cs.meta