From d3abb8569cce06728216fac806827636aad78184 Mon Sep 17 00:00:00 2001 From: milan Date: Mon, 21 Nov 2022 11:36:32 +0100 Subject: [PATCH] make ModuleState abstract to avoid trouble with the type of reference to its Module --- Assets/Engine/Assets/Prefabs/Generic Module.prefab | 13 ------------- Assets/Engine/Runtime/Modules/DoorState.cs | 2 +- Assets/Engine/Runtime/Modules/ModuleState.cs | 6 ++---- Assets/Engine/Runtime/Modules/PuzzleState.cs | 2 +- 4 files changed, 4 insertions(+), 19 deletions(-) diff --git a/Assets/Engine/Assets/Prefabs/Generic Module.prefab b/Assets/Engine/Assets/Prefabs/Generic Module.prefab index f61f533..6b5b0eb 100644 --- a/Assets/Engine/Assets/Prefabs/Generic Module.prefab +++ b/Assets/Engine/Assets/Prefabs/Generic Module.prefab @@ -92,7 +92,6 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 7860513085978939562} - - component: {fileID: 4604142456167599783} m_Layer: 0 m_Name: Generic Module m_TagString: Untagged @@ -116,18 +115,6 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &4604142456167599783 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3864228228344123331} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: efdc32c450f7411385748449459a17b4, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1 &4439105426094897912 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Engine/Runtime/Modules/DoorState.cs b/Assets/Engine/Runtime/Modules/DoorState.cs index 01cae05..1176234 100644 --- a/Assets/Engine/Runtime/Modules/DoorState.cs +++ b/Assets/Engine/Runtime/Modules/DoorState.cs @@ -15,7 +15,7 @@ namespace EscapeRoomEngine.Engine.Runtime.Modules { public event DoorEventHandler DoorEvent; - private new DoorModule Module { get; set; } + private DoorModule Module { get; set; } public bool Unlocked { get => _unlocked; diff --git a/Assets/Engine/Runtime/Modules/ModuleState.cs b/Assets/Engine/Runtime/Modules/ModuleState.cs index 2e9ee46..5d97b65 100644 --- a/Assets/Engine/Runtime/Modules/ModuleState.cs +++ b/Assets/Engine/Runtime/Modules/ModuleState.cs @@ -2,10 +2,8 @@ namespace EscapeRoomEngine.Engine.Runtime.Modules { - public class ModuleState : MonoBehaviour + public abstract class ModuleState : MonoBehaviour { - public Module Module { get; protected set; } - - public virtual void SetModule(Module module) => Module = module; + public abstract void SetModule(Module module); } } \ No newline at end of file diff --git a/Assets/Engine/Runtime/Modules/PuzzleState.cs b/Assets/Engine/Runtime/Modules/PuzzleState.cs index f5702cb..046198f 100644 --- a/Assets/Engine/Runtime/Modules/PuzzleState.cs +++ b/Assets/Engine/Runtime/Modules/PuzzleState.cs @@ -33,7 +33,7 @@ namespace EscapeRoomEngine.Engine.Runtime.Modules public event PuzzleEventHandler PuzzleEvent; public EngineTheme theme; - private new PuzzleModule Module { get; set; } + protected PuzzleModule Module { get; private set; } public bool Solved { get => _solved;