diff --git a/302/Assets/Course Library/Anomalies/Anomaly10/floorTile_abnormal.prefab b/302/Assets/Course Library/Anomalies/Anomaly10/floorTile_abnormal.prefab index 3fa159c..3cbd79d 100644 --- a/302/Assets/Course Library/Anomalies/Anomaly10/floorTile_abnormal.prefab +++ b/302/Assets/Course Library/Anomalies/Anomaly10/floorTile_abnormal.prefab @@ -271,8 +271,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 20681d21fd96f1d4997f4ec4d7641215, type: 3} m_Name: m_EditorClassIdentifier: - promptMessage: "\uD074\uB9AD\uD558\uC5EC \uC0C1\uD638\uC791\uC6A9" - interactionRange: 2 + prompt: + distanceInteractionMax: 5 --- !u!82 &-3146942907749045525 AudioSource: m_ObjectHideFlags: 0 diff --git a/302/Assets/Course Library/Anomalies/Anomaly11/door_opened.prefab b/302/Assets/Course Library/Anomalies/Anomaly11/door_opened.prefab index 01e43bc..059f1c0 100644 --- a/302/Assets/Course Library/Anomalies/Anomaly11/door_opened.prefab +++ b/302/Assets/Course Library/Anomalies/Anomaly11/door_opened.prefab @@ -160,8 +160,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 0308f3d0e5f4a2b468bacc485aebf6d2, type: 3} m_Name: m_EditorClassIdentifier: - promptMessage: "\uD074\uB9AD\uD558\uC5EC \uC0C1\uD638\uC791\uC6A9" - interactionRange: 2 + prompt: + distanceInteractionMax: 2 fadeImage: {fileID: 6108600949248145028, guid: af86313d08cec4241a8b1edd8d8a29da, type: 3} fadeSpeed: 2 closeSpeed: 1 diff --git a/302/Assets/Course Library/Anomalies/Anomaly12/ligh_tilted.prefab b/302/Assets/Course Library/Anomalies/Anomaly12/ligh_tilted.prefab index 9758c60..0cae19f 100644 --- a/302/Assets/Course Library/Anomalies/Anomaly12/ligh_tilted.prefab +++ b/302/Assets/Course Library/Anomalies/Anomaly12/ligh_tilted.prefab @@ -192,7 +192,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7578491145889696626} m_LocalRotation: {x: 0, y: 0.06975647, z: 0, w: 0.9975641} - m_LocalPosition: {x: -13.900001, y: 0, z: 0.5} + m_LocalPosition: {x: 1.7000008, y: 8, z: 1} m_LocalScale: {x: 1, y: 1, z: 2.7} m_ConstrainProportionsScale: 0 m_Children: @@ -226,6 +226,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 8f01f1db524329643a33a6f26ae020eb, type: 3} m_Name: m_EditorClassIdentifier: - promptMessage: "\uD074\uB9AD\uD558\uC5EC \uC0C1\uD638\uC791\uC6A9" - interactionRange: 2 + prompt: + distanceInteractionMax: 4 rotationSpeed: 1 diff --git a/302/Assets/Course Library/Anomalies/Anomaly13/eyes.prefab b/302/Assets/Course Library/Anomalies/Anomaly13/eyes.prefab index b0d66ab..cabd5b2 100644 --- a/302/Assets/Course Library/Anomalies/Anomaly13/eyes.prefab +++ b/302/Assets/Course Library/Anomalies/Anomaly13/eyes.prefab @@ -60,10 +60,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 93b91f91247fb0b45aeedc1f250a1e63, type: 3} m_Name: m_EditorClassIdentifier: - player: {fileID: 0} - leftEye: {fileID: 0} - rightEye: {fileID: 0} - rotationOffsetX: -90 + prompt: + distanceInteractionMax: 5 --- !u!1001 &4036253353244585447 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/302/Assets/Course Library/Anomalies/Anomaly26/fire/Fire.unitypackage.meta b/302/Assets/Course Library/Anomalies/Anomaly26/fire/Fire.unitypackage.meta deleted file mode 100644 index a819dbb..0000000 --- a/302/Assets/Course Library/Anomalies/Anomaly26/fire/Fire.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 9e44e6e8c6b4444818d678344091a86d -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/302/Assets/Course Library/Anomalies/Anomaly26/fireEx/fireEx.unitypackage.meta b/302/Assets/Course Library/Anomalies/Anomaly26/fireEx/fireEx.unitypackage.meta deleted file mode 100644 index ac7fa65..0000000 --- a/302/Assets/Course Library/Anomalies/Anomaly26/fireEx/fireEx.unitypackage.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 905a3c281cc5d471d99e87d04d99c4c0 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/302/Assets/Course Library/Anomalies/Anomaly3/noHeadSitGirl.prefab b/302/Assets/Course Library/Anomalies/Anomaly3/noHeadSitGirl.prefab index e3c8108..12a2bdd 100644 --- a/302/Assets/Course Library/Anomalies/Anomaly3/noHeadSitGirl.prefab +++ b/302/Assets/Course Library/Anomalies/Anomaly3/noHeadSitGirl.prefab @@ -1829,8 +1829,8 @@ GameObject: - component: {fileID: 5702866697557762460} - component: {fileID: -5115927794089966355} - component: {fileID: 1762372057293109387} - - component: {fileID: 102974955409158419} - component: {fileID: 2823924222544873001} + - component: {fileID: 5847809326673953691} m_Layer: 3 m_Name: noHeadSitGirl m_TagString: Untagged @@ -1845,8 +1845,8 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4931291677343464230} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: -1.72, y: -0.92, z: -6.15} m_LocalScale: {x: 2, y: 2, z: 2} m_ConstrainProportionsScale: 0 m_Children: @@ -1924,21 +1924,6 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 0.78868043, y: 1.2432933, z: 0.8379879} m_Center: {x: -0.007043898, y: 1.0091901, z: 0.081006035} ---- !u!114 &102974955409158419 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4931291677343464230} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9b3f08a1c74cca4da83f16b57568fbf, type: 3} - m_Name: - m_EditorClassIdentifier: - promptMessage: "\uD074\uB9AD\uD558\uC5EC \uC0C1\uD638\uC791\uC6A9" - interactionRange: 2 - interactionSoundPrefab: {fileID: 0} --- !u!82 &2823924222544873001 AudioSource: m_ObjectHideFlags: 0 @@ -2035,6 +2020,20 @@ AudioSource: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 +--- !u!114 &5847809326673953691 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4931291677343464230} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d9b3f08a1c74cca4da83f16b57568fbf, type: 3} + m_Name: + m_EditorClassIdentifier: + prompt: + distanceInteractionMax: 2 --- !u!1 &5032775393752142314 GameObject: m_ObjectHideFlags: 0 diff --git a/302/Assets/Course Library/Anomalies/Anomaly8/professor_Anomaly8.prefab b/302/Assets/Course Library/Anomalies/Anomaly8/professor_Anomaly8.prefab index acea430..4d2043a 100644 --- a/302/Assets/Course Library/Anomalies/Anomaly8/professor_Anomaly8.prefab +++ b/302/Assets/Course Library/Anomalies/Anomaly8/professor_Anomaly8.prefab @@ -3082,8 +3082,8 @@ GameObject: - component: {fileID: 8773584364483337333} - component: {fileID: -7422413402872412774} - component: {fileID: -1963283817825714181} - - component: {fileID: 8480570695569470048} - component: {fileID: 3429054842545089841} + - component: {fileID: 5851915364222104651} m_Layer: 3 m_Name: professor_Anomaly8 m_TagString: Untagged @@ -3098,8 +3098,8 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8253366189145917135} - m_LocalRotation: {x: 0, y: 0.7071068, z: -0, w: -0.7071068} - m_LocalPosition: {x: -0.9374157, y: 1.4354091, z: 2.6702428} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: -0.7071068} + m_LocalPosition: {x: 14, y: 0, z: 0.8} m_LocalScale: {x: 2, y: 2, z: 2} m_ConstrainProportionsScale: 0 m_Children: @@ -3178,21 +3178,6 @@ CapsuleCollider: m_Height: 2.0122426 m_Direction: 1 m_Center: {x: -0.0046090484, y: 0.9393765, z: 0.12905467} ---- !u!114 &8480570695569470048 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8253366189145917135} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 13668f2615e0a94489f12ccbeb6d1c48, type: 3} - m_Name: - m_EditorClassIdentifier: - promptMessage: "\uD074\uB9AD\uD558\uC5EC \uC0C1\uD638\uC791\uC6A9" - interactionRange: 2 - maxVolumeDistance: 5 --- !u!82 &3429054842545089841 AudioSource: m_ObjectHideFlags: 0 @@ -3289,6 +3274,24 @@ AudioSource: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 +--- !u!114 &5851915364222104651 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8253366189145917135} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 13668f2615e0a94489f12ccbeb6d1c48, type: 3} + m_Name: + m_EditorClassIdentifier: + prompt: + distanceInteractionMax: 2 + maxVolumeDistance: 5 + startDistance: 30 + fadeOutDuration: 2 + audioStartDelay: 5 --- !u!1 &8279582076143391115 GameObject: m_ObjectHideFlags: 0 diff --git a/302/Assets/Prefabs/Anomaly01/sittingGirl.prefab b/302/Assets/Prefabs/Anomaly01/sittingGirl.prefab index 314514a..68e9f8b 100644 --- a/302/Assets/Prefabs/Anomaly01/sittingGirl.prefab +++ b/302/Assets/Prefabs/Anomaly01/sittingGirl.prefab @@ -807,7 +807,7 @@ GameObject: - component: {fileID: 4543532148542983630} - component: {fileID: 4073337738985234537} - component: {fileID: 1078734396322403036} - - component: {fileID: 8530691117493187380} + - component: {fileID: 2357615498098561285} m_Layer: 3 m_Name: sittingGirl m_TagString: Untagged @@ -869,7 +869,7 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 0.004, y: 0.016, z: 0.003} m_Center: {x: 0, y: 0.0085, z: 0} ---- !u!114 &8530691117493187380 +--- !u!114 &2357615498098561285 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -878,7 +878,7 @@ MonoBehaviour: m_GameObject: {fileID: 3766714381938235252} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 13b29b2cac673a5419b45e5853d126ec, type: 3} + m_Script: {fileID: 11500000, guid: 61696140f24c05e4a8a11b47c471b12b, type: 3} m_Name: m_EditorClassIdentifier: prompt: diff --git a/302/Assets/Prefabs/Anomaly06/Cake.prefab b/302/Assets/Prefabs/Anomaly06/Cake.prefab index 5a64357..ed279e1 100644 --- a/302/Assets/Prefabs/Anomaly06/Cake.prefab +++ b/302/Assets/Prefabs/Anomaly06/Cake.prefab @@ -259,7 +259,7 @@ GameObject: m_Component: - component: {fileID: 304119721586272743} - component: {fileID: 1269198580064314291} - - component: {fileID: 9115472224493573052} + - component: {fileID: -8651826616036947606} m_Layer: 3 m_Name: Cake m_TagString: Untagged @@ -342,7 +342,7 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 0.35, y: 0.25, z: 0.35} m_Center: {x: 0.22, y: 0.31, z: 0.2} ---- !u!114 &9115472224493573052 +--- !u!114 &-8651826616036947606 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -351,7 +351,7 @@ MonoBehaviour: m_GameObject: {fileID: 1113413758793249629} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ea3e75052d956814095a954bc86ac6c8, type: 3} + m_Script: {fileID: 11500000, guid: 63c2b768a7e3960459603cf9e88eecc0, type: 3} m_Name: m_EditorClassIdentifier: prompt: diff --git a/302/Assets/Prefabs/Anomaly18/Anomaly18Chairs.prefab b/302/Assets/Prefabs/Anomaly18/Anomaly18Chairs.prefab index bf8098d..da72e58 100644 --- a/302/Assets/Prefabs/Anomaly18/Anomaly18Chairs.prefab +++ b/302/Assets/Prefabs/Anomaly18/Anomaly18Chairs.prefab @@ -9,7 +9,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 804342736015318115} - - component: {fileID: 6451951202203810141} + - component: {fileID: -6116211564230804281} m_Layer: 0 m_Name: Anomaly18Chairs m_TagString: Untagged @@ -56,7 +56,7 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &6451951202203810141 +--- !u!114 &-6116211564230804281 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -65,7 +65,7 @@ MonoBehaviour: m_GameObject: {fileID: 2824771154171234484} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: abf04317342a08b43b99639716e15455, type: 3} + m_Script: {fileID: 11500000, guid: e2e44fc5e1725d647908a6343ed98090, type: 3} m_Name: m_EditorClassIdentifier: duration: 2 diff --git a/302/Assets/Prefabs/Anomaly18/Anomaly18Desks.prefab b/302/Assets/Prefabs/Anomaly18/Anomaly18Desks.prefab index 0f4300d..32f9627 100644 --- a/302/Assets/Prefabs/Anomaly18/Anomaly18Desks.prefab +++ b/302/Assets/Prefabs/Anomaly18/Anomaly18Desks.prefab @@ -9,7 +9,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 3346580053050280452} - - component: {fileID: 6127939753784815240} + - component: {fileID: 5360591617155509057} m_Layer: 0 m_Name: Anomaly18Desks m_TagString: Untagged @@ -38,7 +38,7 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &6127939753784815240 +--- !u!114 &5360591617155509057 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -47,7 +47,7 @@ MonoBehaviour: m_GameObject: {fileID: 3135954807459457769} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: abf04317342a08b43b99639716e15455, type: 3} + m_Script: {fileID: 11500000, guid: e2e44fc5e1725d647908a6343ed98090, type: 3} m_Name: m_EditorClassIdentifier: duration: 2 diff --git a/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable1.prefab b/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable1.prefab index bc2319f..a47cb0d 100644 --- a/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable1.prefab +++ b/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable1.prefab @@ -674,7 +674,7 @@ GameObject: m_Component: - component: {fileID: 6670105427928595574} - component: {fileID: 8219951293162197828} - - component: {fileID: 2017085401444559450} + - component: {fileID: 1167900592675330579} m_Layer: 3 m_Name: Anomaly18Interactable1 m_TagString: Untagged @@ -723,7 +723,7 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 0.017582536, y: 0.014485538, z: 0.042276703} m_Center: {x: -0.34068245, y: 0.20315066, z: -0.12153947} ---- !u!114 &2017085401444559450 +--- !u!114 &1167900592675330579 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -732,10 +732,9 @@ MonoBehaviour: m_GameObject: {fileID: 6330698921243240140} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c1fef15414d38cd49ac6dc744856e8b9, type: 3} + m_Script: {fileID: 11500000, guid: 33a51968eb2cf9549ba0e069a5074acc, type: 3} m_Name: m_EditorClassIdentifier: - nameCameraMain: Main Camera prompt: distanceInteractionMax: 3 duration: 2 diff --git a/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable2.prefab b/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable2.prefab index d1c242d..533d830 100644 --- a/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable2.prefab +++ b/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable2.prefab @@ -1089,7 +1089,7 @@ GameObject: m_Component: - component: {fileID: 8613521071373069016} - component: {fileID: 6416086224060810730} - - component: {fileID: 6898711655119319520} + - component: {fileID: 2260679722752361086} m_Layer: 3 m_Name: Anomaly18Interactable2 m_TagString: Untagged @@ -1138,7 +1138,7 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 0.017582536, y: 0.014485538, z: 0.042276703} m_Center: {x: -0.34068245, y: 0.20315066, z: -0.12153947} ---- !u!114 &6898711655119319520 +--- !u!114 &2260679722752361086 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1147,10 +1147,9 @@ MonoBehaviour: m_GameObject: {fileID: 8989905498966388834} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c1fef15414d38cd49ac6dc744856e8b9, type: 3} + m_Script: {fileID: 11500000, guid: 33a51968eb2cf9549ba0e069a5074acc, type: 3} m_Name: m_EditorClassIdentifier: - nameCameraMain: Main Camera prompt: distanceInteractionMax: 3 duration: 2 diff --git a/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable3.prefab b/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable3.prefab index aeecd8a..d70aa42 100644 --- a/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable3.prefab +++ b/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable3.prefab @@ -757,7 +757,7 @@ GameObject: m_Component: - component: {fileID: 4647422507514480652} - component: {fileID: 7997598608241911614} - - component: {fileID: 1859839871753564884} + - component: {fileID: 6827081098204092515} m_Layer: 3 m_Name: Anomaly18Interactable3 m_TagString: Untagged @@ -806,7 +806,7 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 0.017582536, y: 0.014485538, z: 0.042276703} m_Center: {x: -0.34068245, y: 0.20315066, z: -0.12153947} ---- !u!114 &1859839871753564884 +--- !u!114 &6827081098204092515 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -815,10 +815,9 @@ MonoBehaviour: m_GameObject: {fileID: 5419280097993429686} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c1fef15414d38cd49ac6dc744856e8b9, type: 3} + m_Script: {fileID: 11500000, guid: 33a51968eb2cf9549ba0e069a5074acc, type: 3} m_Name: m_EditorClassIdentifier: - nameCameraMain: Main Camera prompt: distanceInteractionMax: 3 duration: 2 diff --git a/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable4.prefab b/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable4.prefab index 07ae083..71728b4 100644 --- a/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable4.prefab +++ b/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable4.prefab @@ -259,7 +259,7 @@ GameObject: m_Component: - component: {fileID: 172549105730445443} - component: {fileID: 3235519489252216753} - - component: {fileID: 24838291918306546} + - component: {fileID: 4300784729179825900} m_Layer: 3 m_Name: Anomaly18Interactable4 m_TagString: Untagged @@ -308,7 +308,7 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 0.017582536, y: 0.014485538, z: 0.042276703} m_Center: {x: -0.34068245, y: 0.20315066, z: -0.12153947} ---- !u!114 &24838291918306546 +--- !u!114 &4300784729179825900 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -317,10 +317,9 @@ MonoBehaviour: m_GameObject: {fileID: 661700201260497465} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c1fef15414d38cd49ac6dc744856e8b9, type: 3} + m_Script: {fileID: 11500000, guid: 33a51968eb2cf9549ba0e069a5074acc, type: 3} m_Name: m_EditorClassIdentifier: - nameCameraMain: Main Camera prompt: distanceInteractionMax: 3 duration: 2 diff --git a/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable5.prefab b/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable5.prefab index 30e5a87..bf3eeee 100644 --- a/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable5.prefab +++ b/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable5.prefab @@ -674,7 +674,7 @@ GameObject: m_Component: - component: {fileID: 6503443985375851902} - component: {fileID: 8413573422723816012} - - component: {fileID: 7615847411419680703} + - component: {fileID: -8668577580007678075} m_Layer: 3 m_Name: Anomaly18Interactable5 m_TagString: Untagged @@ -723,7 +723,7 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 0.017582536, y: 0.014485538, z: 0.042276703} m_Center: {x: -0.34068245, y: 0.20315066, z: -0.12153947} ---- !u!114 &7615847411419680703 +--- !u!114 &-8668577580007678075 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -732,10 +732,9 @@ MonoBehaviour: m_GameObject: {fileID: 5839778339388796868} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c1fef15414d38cd49ac6dc744856e8b9, type: 3} + m_Script: {fileID: 11500000, guid: 33a51968eb2cf9549ba0e069a5074acc, type: 3} m_Name: m_EditorClassIdentifier: - nameCameraMain: Main Camera prompt: distanceInteractionMax: 3 duration: 2 diff --git a/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable6.prefab b/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable6.prefab index c4132fb..3f95062 100644 --- a/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable6.prefab +++ b/302/Assets/Prefabs/Anomaly18/Anomaly18Interactable6.prefab @@ -425,7 +425,7 @@ GameObject: m_Component: - component: {fileID: 1385833862649261190} - component: {fileID: 4447484008536605620} - - component: {fileID: 3248939476315829577} + - component: {fileID: -8609727679995584818} m_Layer: 3 m_Name: Anomaly18Interactable6 m_TagString: Untagged @@ -474,7 +474,7 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 0.017582536, y: 0.014485538, z: 0.042276703} m_Center: {x: -0.34068245, y: 0.20315066, z: -0.12153947} ---- !u!114 &3248939476315829577 +--- !u!114 &-8609727679995584818 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -483,10 +483,9 @@ MonoBehaviour: m_GameObject: {fileID: 1761092321075197500} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c1fef15414d38cd49ac6dc744856e8b9, type: 3} + m_Script: {fileID: 11500000, guid: 33a51968eb2cf9549ba0e069a5074acc, type: 3} m_Name: m_EditorClassIdentifier: - nameCameraMain: Main Camera prompt: distanceInteractionMax: 3 duration: 2 diff --git a/302/Assets/Prefabs/Anomaly20/Anomaly20InteractableBack.prefab b/302/Assets/Prefabs/Anomaly20/Anomaly20InteractableBack.prefab index 57bfc5b..752bfe4 100644 --- a/302/Assets/Prefabs/Anomaly20/Anomaly20InteractableBack.prefab +++ b/302/Assets/Prefabs/Anomaly20/Anomaly20InteractableBack.prefab @@ -10,7 +10,7 @@ GameObject: m_Component: - component: {fileID: 3033663053936672906} - component: {fileID: 2026440862349033724} - - component: {fileID: 3007005032385091976} + - component: {fileID: -5418363686235835766} m_Layer: 3 m_Name: Anomaly20InteractableBack m_TagString: Untagged @@ -46,7 +46,7 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 0.6, y: 2.4, z: 0.1} m_Center: {x: 0, y: 2, z: 0} ---- !u!114 &3007005032385091976 +--- !u!114 &-5418363686235835766 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -55,7 +55,7 @@ MonoBehaviour: m_GameObject: {fileID: 8359328002521216368} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e3abf5127f1fd514eafeb2411741d79a, type: 3} + m_Script: {fileID: 11500000, guid: 8fb76969add5cf04c807554bc63c2b16, type: 3} m_Name: m_EditorClassIdentifier: prompt: diff --git a/302/Assets/Prefabs/Anomaly20/Anomaly20InteractableFront.prefab b/302/Assets/Prefabs/Anomaly20/Anomaly20InteractableFront.prefab index 4f771b5..a43bdea 100644 --- a/302/Assets/Prefabs/Anomaly20/Anomaly20InteractableFront.prefab +++ b/302/Assets/Prefabs/Anomaly20/Anomaly20InteractableFront.prefab @@ -10,7 +10,7 @@ GameObject: m_Component: - component: {fileID: 956152231290083482} - component: {fileID: 4269990928468924652} - - component: {fileID: 9026940281139440207} + - component: {fileID: -8853786589799450245} m_Layer: 3 m_Name: Anomaly20InteractableFront m_TagString: Untagged @@ -46,7 +46,7 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 0.6, y: 2.4, z: 0.1} m_Center: {x: 0, y: 2, z: 0} ---- !u!114 &9026940281139440207 +--- !u!114 &-8853786589799450245 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -55,7 +55,7 @@ MonoBehaviour: m_GameObject: {fileID: 6007555188655779168} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fa6dee73251e9a04e8d20560af1f1997, type: 3} + m_Script: {fileID: 11500000, guid: 8c92679bac1ed184e89802565dea5023, type: 3} m_Name: m_EditorClassIdentifier: prompt: diff --git a/302/Assets/Prefabs/Anomaly20/Anomaly20InteractableRight.prefab b/302/Assets/Prefabs/Anomaly20/Anomaly20InteractableRight.prefab index e6221bf..5fc104e 100644 --- a/302/Assets/Prefabs/Anomaly20/Anomaly20InteractableRight.prefab +++ b/302/Assets/Prefabs/Anomaly20/Anomaly20InteractableRight.prefab @@ -10,7 +10,7 @@ GameObject: m_Component: - component: {fileID: 446314887832338340} - component: {fileID: 3474316305581948882} - - component: {fileID: 8697349718316497385} + - component: {fileID: -8365079299294410971} m_Layer: 3 m_Name: Anomaly20InteractableRight m_TagString: Untagged @@ -46,7 +46,7 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 0.6, y: 2.4, z: 0.1} m_Center: {x: 0, y: 2, z: 0} ---- !u!114 &8697349718316497385 +--- !u!114 &-8365079299294410971 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -55,7 +55,7 @@ MonoBehaviour: m_GameObject: {fileID: 6352980353013582430} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5c14879ba6f660e4196accbcc95dfe7a, type: 3} + m_Script: {fileID: 11500000, guid: e59a0281bd9bdfb43ac0588c3fb8e938, type: 3} m_Name: m_EditorClassIdentifier: prompt: diff --git a/302/Assets/Prefabs/Anomaly20/PlayerAnomaly.prefab b/302/Assets/Prefabs/Anomaly20/PlayerAnomaly.prefab index 107ed3f..64b6441 100644 --- a/302/Assets/Prefabs/Anomaly20/PlayerAnomaly.prefab +++ b/302/Assets/Prefabs/Anomaly20/PlayerAnomaly.prefab @@ -92,7 +92,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2110923677284472899} - - component: {fileID: 3150737880391576839} + - component: {fileID: 2242511788721463015} m_Layer: 7 m_Name: PlayerAnomaly m_TagString: Untagged @@ -119,7 +119,7 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &3150737880391576839 +--- !u!114 &2242511788721463015 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -128,7 +128,7 @@ MonoBehaviour: m_GameObject: {fileID: 1585356450965799673} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0599189f40e873443b3c17a2bf43fc1b, type: 3} + m_Script: {fileID: 11500000, guid: 152526297e2dff144836b43225cb3abe, type: 3} m_Name: m_EditorClassIdentifier: namePlayer: Player diff --git a/302/Assets/Prefabs/Anomaly23/ghost.prefab b/302/Assets/Prefabs/Anomaly23/ghost.prefab index 1f935c1..f48c7b2 100644 --- a/302/Assets/Prefabs/Anomaly23/ghost.prefab +++ b/302/Assets/Prefabs/Anomaly23/ghost.prefab @@ -695,7 +695,7 @@ GameObject: - component: {fileID: 6043085938085249294} - component: {fileID: 6077576747107725253} - component: {fileID: 5615054433689430107} - - component: {fileID: 6691339936817308490} + - component: {fileID: -8804778980738031548} - component: {fileID: 3035267094544484457} m_Layer: 0 m_Name: ghost @@ -759,7 +759,7 @@ MeshCollider: m_Convex: 0 m_CookingOptions: 30 m_Mesh: {fileID: 634242862415478878, guid: ff396297b2943264b94918734f937c26, type: 3} ---- !u!114 &6691339936817308490 +--- !u!114 &-8804778980738031548 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -768,7 +768,7 @@ MonoBehaviour: m_GameObject: {fileID: 6383441288876432308} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e0bcd3ed008239247ac12770f9227c88, type: 3} + m_Script: {fileID: 11500000, guid: 04095a18f74aa3c4fb320c88a9fc2468, type: 3} m_Name: m_EditorClassIdentifier: namePlayer: Player diff --git a/302/Assets/Prefabs/SpecificAnomalyManager.meta b/302/Assets/Prefabs/AnomalyControllers.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager.meta rename to 302/Assets/Prefabs/AnomalyControllers.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (1).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (1).prefab similarity index 85% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (1).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (1).prefab index 2b8df49..672b186 100644 --- a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (1).prefab +++ b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (1).prefab @@ -41,13 +41,10 @@ MonoBehaviour: m_GameObject: {fileID: 8029531248133384330} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b3698bbfa0cfc4b73bc9dd4d3b8c5468, type: 3} + m_Script: {fileID: 11500000, guid: c67cdddaf28e37c4a805248e25178dcb, type: 3} m_Name: m_EditorClassIdentifier: names: - chair (20) prefabs: - {fileID: 3766714381938235252, guid: 63dac8321736a9a4587f4fd967a5d0d8, type: 3} - nameChair: - prefabGirl: {fileID: 3766714381938235252, guid: 63dac8321736a9a4587f4fd967a5d0d8, type: 3} - positionChair: {x: -5.83, y: 0.72, z: 13.4} diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (1).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (1).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (1).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (1).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (10).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (10).prefab similarity index 87% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (10).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (10).prefab index cd55de9..776c300 100644 --- a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (10).prefab +++ b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (10).prefab @@ -9,7 +9,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 242199192578515326} - - component: {fileID: 242199192578515327} + - component: {fileID: -4456860463678520930} m_Layer: 0 m_Name: AnomalyManager (10) m_TagString: Untagged @@ -32,7 +32,7 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &242199192578515327 +--- !u!114 &-4456860463678520930 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -44,4 +44,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 8ee0d51b9421e4225a3063944179fe0d, type: 3} m_Name: m_EditorClassIdentifier: - abnormalTilePrefab: {fileID: 9055656618054629428, guid: bb9039250362fbd4fa80976616652088, type: 3} + names: [] + prefabs: + - {fileID: 9055656618054629428, guid: bb9039250362fbd4fa80976616652088, type: 3} diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (10).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (10).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (10).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (10).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (11).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (11).prefab similarity index 90% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (11).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (11).prefab index 11aa8a1..aafde74 100644 --- a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (11).prefab +++ b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (11).prefab @@ -44,5 +44,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 60b202be270b34142adf24b6c800fda5, type: 3} m_Name: m_EditorClassIdentifier: - targetDoorName: door - doorOpenedPrefab: {fileID: 8121868656660789279, guid: c893de987f87ca142b73f034e6b12896, type: 3} + names: + - Classroom/WallRight/door + prefabs: + - {fileID: 8121868656660789279, guid: c893de987f87ca142b73f034e6b12896, type: 3} diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (11).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (11).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (11).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (11).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (12).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (12).prefab similarity index 90% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (12).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (12).prefab index 0f3a1c9..b72256b 100644 --- a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (12).prefab +++ b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (12).prefab @@ -44,5 +44,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 4ea9c09112d4b4ec080ddd838dbd3f86, type: 3} m_Name: m_EditorClassIdentifier: - targetLightName: light (4) - tiltedLightPrefab: {fileID: 7578491145889696626, guid: a25ddb5ae5b6b1849b3b874a6401e9ea, type: 3} + names: + - Classroom/ceiling/Lights/light (4) + prefabs: + - {fileID: 7578491145889696626, guid: a25ddb5ae5b6b1849b3b874a6401e9ea, type: 3} diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (12).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (12).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (12).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (12).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (13).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (13).prefab similarity index 85% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (13).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (13).prefab index 889d3e6..8ee6a6f 100644 --- a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (13).prefab +++ b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (13).prefab @@ -44,6 +44,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: b863f6020c9be4d36af5976ae7def815, type: 3} m_Name: m_EditorClassIdentifier: - targetObjectName: sitGirl - lookingGirlPrefab: {fileID: 865672691596713360, guid: 3ea9e4e205f1eb2418fc327cd3c3f601, type: 3} - eyesPrefab: {fileID: 3430613836902118324, guid: 11e3551dd4b590742b42d0da43be8523, type: 3} + names: + - SitGirls/sitGirl/_eye_left + - SitGirls/sitGirl/eye_right + prefabs: + - {fileID: 3430613836902118324, guid: 11e3551dd4b590742b42d0da43be8523, type: 3} diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (13).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (13).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (13).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (13).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (14).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (14).prefab similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (14).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (14).prefab diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (14).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (14).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (14).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (14).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (15).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (15).prefab similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (15).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (15).prefab diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (15).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (15).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (15).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (15).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (16).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (16).prefab similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (16).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (16).prefab diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (16).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (16).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (16).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (16).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (17).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (17).prefab similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (17).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (17).prefab diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (17).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (17).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (17).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (17).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (18).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (18).prefab similarity index 90% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (18).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (18).prefab index bd1d127..1ce6543 100644 --- a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (18).prefab +++ b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (18).prefab @@ -9,7 +9,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2594707081102709241} - - component: {fileID: 2594707081102709240} + - component: {fileID: -7257790672791855} m_Layer: 0 m_Name: AnomalyManager (18) m_TagString: Untagged @@ -32,7 +32,7 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2594707081102709240 +--- !u!114 &-7257790672791855 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -41,7 +41,7 @@ MonoBehaviour: m_GameObject: {fileID: 2594707081102709190} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 921b5d489d0fd473a90b2648020b6981, type: 3} + m_Script: {fileID: 11500000, guid: 482965570cfb46f47a3c1dc8bb085118, type: 3} m_Name: m_EditorClassIdentifier: names: @@ -56,5 +56,3 @@ MonoBehaviour: - {fileID: 661700201260497465, guid: 147a5b1985730a849bd4568b4c7dd68d, type: 3} - {fileID: 5839778339388796868, guid: e756aae9e6d5a2c4aa53edf63a90a73e, type: 3} - {fileID: 1761092321075197500, guid: 189843821322f8d46a0c044b91aecd8a, type: 3} - nameWall: WallBack - nameClock: clock diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (18).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (18).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (18).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (18).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (19).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (19).prefab similarity index 87% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (19).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (19).prefab index f58f205..bacc165 100644 --- a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (19).prefab +++ b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (19).prefab @@ -9,7 +9,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 5785941547889943524} - - component: {fileID: 5785941547889943323} + - component: {fileID: 1931854943782471330} m_Layer: 0 m_Name: AnomalyManager (19) m_TagString: Untagged @@ -32,7 +32,7 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &5785941547889943323 +--- !u!114 &1931854943782471330 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -41,10 +41,9 @@ MonoBehaviour: m_GameObject: {fileID: 5785941547889943525} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ac9ccff8bcade466eaa77e3dfd322477, type: 3} + m_Script: {fileID: 11500000, guid: 41154e9f1fa8532418565040575f88fd, type: 3} m_Name: m_EditorClassIdentifier: names: - SlideRight prefabs: [] - nameSlide: SlideRight diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (19).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (19).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (19).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (19).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (2).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (2).prefab similarity index 86% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (2).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (2).prefab index 05c606e..d282b4d 100644 --- a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (2).prefab +++ b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (2).prefab @@ -9,7 +9,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 7880928048431957976} - - component: {fileID: 7880928048431957975} + - component: {fileID: -1342136143625530433} m_Layer: 0 m_Name: AnomalyManager (2) m_TagString: Untagged @@ -32,7 +32,7 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &7880928048431957975 +--- !u!114 &-1342136143625530433 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -41,10 +41,9 @@ MonoBehaviour: m_GameObject: {fileID: 7880928048431957977} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 71a8eeeaaa8fe4e91b0707e40548c7dc, type: 3} + m_Script: {fileID: 11500000, guid: 8d9468dc8f9a8604798977ba7532e464, type: 3} m_Name: m_EditorClassIdentifier: names: - LaptopFace prefabs: [] - nameLaptop: LaptopFace diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (2).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (2).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (2).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (2).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (20).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (20).prefab similarity index 74% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (20).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (20).prefab index 93dd60f..83600e4 100644 --- a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (20).prefab +++ b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (20).prefab @@ -9,7 +9,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 8886156794611203334} - - component: {fileID: 8886156794611203329} + - component: {fileID: 746222989119768169} m_Layer: 0 m_Name: AnomalyManager (20) m_TagString: Untagged @@ -32,7 +32,7 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &8886156794611203329 +--- !u!114 &746222989119768169 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -41,7 +41,7 @@ MonoBehaviour: m_GameObject: {fileID: 8886156794611203335} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 085c515f4a72f447ca184b2322523ea7, type: 3} + m_Script: {fileID: 11500000, guid: 1567b9a2a4beb8a4db8cde361f0ebaa9, type: 3} m_Name: m_EditorClassIdentifier: names: [] @@ -50,8 +50,3 @@ MonoBehaviour: - {fileID: 6007555188655779168, guid: 0852fbf6270b3594ca9d568aa073d9f0, type: 3} - {fileID: 6352980353013582430, guid: 0668cb8fc4c4adf4d89c5576aa49baa3, type: 3} - {fileID: 8359328002521216368, guid: 20dd6377462426d459e214f2050cbf9e, type: 3} - prefabPlayer: {fileID: 1585356450965799673, guid: f6f048eaa6cbbd149a13d00c9d48bd32, type: 3} - prefabsInteractable: - - {fileID: 6007555188655779168, guid: 0852fbf6270b3594ca9d568aa073d9f0, type: 3} - - {fileID: 6352980353013582430, guid: 0668cb8fc4c4adf4d89c5576aa49baa3, type: 3} - - {fileID: 8359328002521216368, guid: 20dd6377462426d459e214f2050cbf9e, type: 3} diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (20).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (20).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (20).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (20).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (21).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (21).prefab similarity index 90% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (21).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (21).prefab index 517bcff..22bb93b 100644 --- a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (21).prefab +++ b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (21).prefab @@ -44,5 +44,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7089c0d6190134ca985c8ad224f6c04e, type: 3} m_Name: m_EditorClassIdentifier: - targetObjectName: professor_normal - professorPrefab: {fileID: 7831368780425544879, guid: a655570cc35bfc949a9c58b5eb8b4a90, type: 3} + names: + - professor_normal + prefabs: + - {fileID: 7831368780425544879, guid: a655570cc35bfc949a9c58b5eb8b4a90, type: 3} diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (21).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (21).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (21).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (21).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (22).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (22).prefab similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (22).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (22).prefab diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (22).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (22).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (22).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (22).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (23).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (23).prefab similarity index 82% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (23).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (23).prefab index 9546661..26a3b94 100644 --- a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (23).prefab +++ b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (23).prefab @@ -9,7 +9,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 7967237053195646304} - - component: {fileID: 7967237053195646305} + - component: {fileID: 9000146529396228395} m_Layer: 0 m_Name: AnomalyManager (23) m_TagString: Untagged @@ -32,7 +32,7 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &7967237053195646305 +--- !u!114 &9000146529396228395 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -41,12 +41,10 @@ MonoBehaviour: m_GameObject: {fileID: 7967237053195646319} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 88057b82d9de4412ab8dbda29fc6b064, type: 3} + m_Script: {fileID: 11500000, guid: f9a424064999dfb45ad9123fe62991cc, type: 3} m_Name: m_EditorClassIdentifier: names: - Laptop prefabs: - {fileID: 6383441288876432308, guid: 81c28fcb68ce14547b921480ce36bbed, type: 3} - nameLaptop: Laptop - prefabGhost: {fileID: 6383441288876432308, guid: 81c28fcb68ce14547b921480ce36bbed, type: 3} diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (23).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (23).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (23).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (23).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (24).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (24).prefab similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (24).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (24).prefab diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (24).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (24).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (24).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (24).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (25).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (25).prefab similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (25).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (25).prefab diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (25).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (25).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (25).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (25).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (26).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (26).prefab similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (26).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (26).prefab diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (26).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (26).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (26).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (26).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (27).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (27).prefab similarity index 91% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (27).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (27).prefab index 44da8f3..1279273 100644 --- a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (27).prefab +++ b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (27).prefab @@ -44,5 +44,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: bf3259c18316d40cc8480a306dee7396, type: 3} m_Name: m_EditorClassIdentifier: - targetObjectName: clock - clockPrefab: {fileID: 791923717464669601, guid: 64c3e9afb26debe44847a16a22c4dae8, type: 3} + names: [] + prefabs: + - {fileID: 791923717464669601, guid: 64c3e9afb26debe44847a16a22c4dae8, type: 3} diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (27).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (27).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (27).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (27).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (28).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (28).prefab similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (28).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (28).prefab diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (28).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (28).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (28).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (28).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (29).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (29).prefab similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (29).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (29).prefab diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (29).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (29).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (29).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (29).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (3).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (3).prefab similarity index 84% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (3).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (3).prefab index ad3b70b..835c3e7 100644 --- a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (3).prefab +++ b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (3).prefab @@ -9,7 +9,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 8155634044022115139} - - component: {fileID: 8155634044022115138} + - component: {fileID: 6771753627572306098} m_Layer: 0 m_Name: AnomalyManager (3) m_TagString: Untagged @@ -32,7 +32,7 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} ---- !u!114 &8155634044022115138 +--- !u!114 &6771753627572306098 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -44,6 +44,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: fcbd18baab98f449ca317b70a293321b, type: 3} m_Name: m_EditorClassIdentifier: - headlessSchoolgirlPrefab: {fileID: 4931291677343464230, guid: 30233d2ccbd511e4fab58553448c1bd4, type: 3} - spawnLocation: {fileID: 0} - chairPrefab: {fileID: 0} + names: [] + prefabs: + - {fileID: 4931291677343464230, guid: 30233d2ccbd511e4fab58553448c1bd4, type: 3} diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (3).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (3).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (3).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (3).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (30).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (30).prefab similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (30).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (30).prefab diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (30).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (30).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (30).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (30).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (4).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (4).prefab similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (4).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (4).prefab diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (4).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (4).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (4).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (4).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (5).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (5).prefab similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (5).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (5).prefab diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (5).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (5).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (5).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (5).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (6).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (6).prefab similarity index 83% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (6).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (6).prefab index 7189a3a..eab1551 100644 --- a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (6).prefab +++ b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (6).prefab @@ -9,7 +9,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 8069798235795724848} - - component: {fileID: 8069798235795724855} + - component: {fileID: -5694855411504203049} m_Layer: 0 m_Name: AnomalyManager (6) m_TagString: Untagged @@ -32,7 +32,7 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &8069798235795724855 +--- !u!114 &-5694855411504203049 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -41,10 +41,9 @@ MonoBehaviour: m_GameObject: {fileID: 8069798235795724849} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b5cacf602dde845d8a9e49737c5381f2, type: 3} + m_Script: {fileID: 11500000, guid: 80c70e551dbdb0848b48ebca6e6a12c1, type: 3} m_Name: m_EditorClassIdentifier: names: [] prefabs: - {fileID: 1113413758793249629, guid: dae6286e84063a94a93a349b3da00e3f, type: 3} - prefabCake: {fileID: 1113413758793249629, guid: dae6286e84063a94a93a349b3da00e3f, type: 3} diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (6).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (6).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (6).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (6).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (7).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (7).prefab similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (7).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (7).prefab diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (7).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (7).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (7).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (7).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (8).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (8).prefab similarity index 92% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (8).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (8).prefab index a9f30a8..0687abf 100644 --- a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (8).prefab +++ b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (8).prefab @@ -44,5 +44,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7327451d79d164181b37686d02ca311a, type: 3} m_Name: m_EditorClassIdentifier: - normalProfessorPrefab: {fileID: 8253366189145917135, guid: 4dbfb06eecc5e57499f6ea0d7a944a7d, type: 3} + names: + - professor_normal + prefabs: + - {fileID: 8253366189145917135, guid: 75a39b1d903b8ea44b089727e4979d46, type: 3} micSoundProfessorPrefab: {fileID: 8253366189145917135, guid: 75a39b1d903b8ea44b089727e4979d46, type: 3} diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (8).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (8).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (8).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (8).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (9).prefab b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (9).prefab similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (9).prefab rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (9).prefab diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (9).prefab.meta b/302/Assets/Prefabs/AnomalyControllers/AnomalyManager (9).prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/AnomalyManager (9).prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/AnomalyManager (9).prefab.meta diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/DefaultManager.prefab b/302/Assets/Prefabs/AnomalyControllers/DefaultManager.prefab similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/DefaultManager.prefab rename to 302/Assets/Prefabs/AnomalyControllers/DefaultManager.prefab diff --git a/302/Assets/Prefabs/SpecificAnomalyManager/DefaultManager.prefab.meta b/302/Assets/Prefabs/AnomalyControllers/DefaultManager.prefab.meta similarity index 100% rename from 302/Assets/Prefabs/SpecificAnomalyManager/DefaultManager.prefab.meta rename to 302/Assets/Prefabs/AnomalyControllers/DefaultManager.prefab.meta diff --git a/302/Assets/Scenes/DefaultGameScene.unity b/302/Assets/Scenes/DefaultGameScene.unity index a41bd98..090adfc 100644 --- a/302/Assets/Scenes/DefaultGameScene.unity +++ b/302/Assets/Scenes/DefaultGameScene.unity @@ -1261,6 +1261,23 @@ MonoBehaviour: defaultXMax: 960 defaultYMin: 0 defaultYMax: 540 +--- !u!1 &80334030 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 589333374628169546, guid: 9e5b64cc1f2ea46498fc5952bf0d5895, type: 3} + m_PrefabInstance: {fileID: 1162939157} + m_PrefabAsset: {fileID: 0} +--- !u!114 &80334034 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 80334030} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9a55ff71c373727419603887e590ca1a, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &82428849 PrefabInstance: m_ObjectHideFlags: 0 @@ -2251,7 +2268,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 5 + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &131868639 PrefabInstance: @@ -4923,7 +4940,7 @@ GameObject: m_CorrespondingSourceObject: {fileID: 6482429499626390066, guid: e98bfaaf0938845d098edce033f7e7a2, type: 3} m_PrefabInstance: {fileID: 2208074503459508080} m_PrefabAsset: {fileID: 0} ---- !u!114 &243047810 +--- !u!114 &243047808 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -4932,7 +4949,7 @@ MonoBehaviour: m_GameObject: {fileID: 243047807} m_Enabled: 0 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d755543348868a045964c1da73713696, type: 3} + m_Script: {fileID: 11500000, guid: c74d52c1e0a4af444989d0c2f09996c0, type: 3} m_Name: m_EditorClassIdentifier: anomalyScreenIndex: 12 @@ -7837,7 +7854,7 @@ Transform: - {fileID: 686324238} - {fileID: 1675446299} m_Father: {fileID: 0} - m_RootOrder: 8 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &346510890 PrefabInstance: @@ -10136,6 +10153,11 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 16 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &470489866 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: a761dc7f86aa54dbfadca3ebd82de9b9, type: 3} + m_PrefabInstance: {fileID: 1323675347} + m_PrefabAsset: {fileID: 0} --- !u!1 &473065234 GameObject: m_ObjectHideFlags: 0 @@ -11219,6 +11241,35 @@ GameObject: m_CorrespondingSourceObject: {fileID: 5959471144119029934, guid: b49efed64fd3d8d439cfd1de3a9808f5, type: 3} m_PrefabInstance: {fileID: 1983020637} m_PrefabAsset: {fileID: 0} +--- !u!1 &550563608 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 8253366189145917135, guid: 4dbfb06eecc5e57499f6ea0d7a944a7d, type: 3} + m_PrefabInstance: {fileID: 1487742019} + m_PrefabAsset: {fileID: 0} +--- !u!114 &550563612 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 550563608} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c74fcacda5ca304409e13b81453d92a2, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &550563613 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 550563608} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6aa0d459c4e2b834fad9092d089c5c87, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &552901641 PrefabInstance: m_ObjectHideFlags: 0 @@ -22223,7 +22274,7 @@ RectTransform: - {fileID: 924724806} - {fileID: 210424746} m_Father: {fileID: 0} - m_RootOrder: 6 + m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -22967,7 +23018,7 @@ MonoBehaviour: m_GameObject: {fileID: 790133969} m_Enabled: 0 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2960778f4e9343349a587d3d39be1a05, type: 3} + m_Script: {fileID: 11500000, guid: b30fa05c16c171a4d8019ae094bfa965, type: 3} m_Name: m_EditorClassIdentifier: prompt: @@ -23680,7 +23731,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 4 + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1087920892 GameObject: @@ -24187,11 +24238,11 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: - m_TransformParent: {fileID: 0} + m_TransformParent: {fileID: 1675446299} m_Modifications: - target: {fileID: -8679921383154817045, guid: 6357f58ea340e4cb6bc1d878a72faf94, type: 3} propertyPath: m_RootOrder - value: 9 + value: 3 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 6357f58ea340e4cb6bc1d878a72faf94, type: 3} propertyPath: m_LocalScale.x @@ -24203,7 +24254,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 6357f58ea340e4cb6bc1d878a72faf94, type: 3} propertyPath: m_LocalScale.z - value: -6.445398 + value: -6.4453983 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 6357f58ea340e4cb6bc1d878a72faf94, type: 3} propertyPath: m_LocalPosition.x @@ -24319,6 +24370,11 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 6357f58ea340e4cb6bc1d878a72faf94, type: 3} +--- !u!4 &1107075710 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 6357f58ea340e4cb6bc1d878a72faf94, type: 3} + m_PrefabInstance: {fileID: 1107075709} + m_PrefabAsset: {fileID: 0} --- !u!1001 &1108717458 PrefabInstance: m_ObjectHideFlags: 0 @@ -26077,7 +26133,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 3 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1169446209 GameObject: @@ -26179,7 +26235,7 @@ Transform: m_Children: - {fileID: 592683971} m_Father: {fileID: 0} - m_RootOrder: 12 + m_RootOrder: 11 m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} --- !u!114 &1169446214 MonoBehaviour: @@ -29594,6 +29650,18 @@ Transform: m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: a761dc7f86aa54dbfadca3ebd82de9b9, type: 3} m_PrefabInstance: {fileID: 1323675347} m_PrefabAsset: {fileID: 0} +--- !u!114 &1323675349 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 470489866} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4105322dccdeddd4e9b964be20fc04d5, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1326316623 PrefabInstance: m_ObjectHideFlags: 0 @@ -32898,6 +32966,18 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 1.438041, y: 2.279755, z: 2.0562773} m_Center: {x: -0.21902043, y: 0.2507244, z: -0.038850203} +--- !u!114 &1481598554 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1042280326} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 48c9e4b5058bb344389c1cfed59a4c2e, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1482182348 PrefabInstance: m_ObjectHideFlags: 0 @@ -33067,7 +33147,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8773584364483337333, guid: 4dbfb06eecc5e57499f6ea0d7a944a7d, type: 3} propertyPath: m_RootOrder - value: 11 + value: 12 objectReference: {fileID: 0} - target: {fileID: 8773584364483337333, guid: 4dbfb06eecc5e57499f6ea0d7a944a7d, type: 3} propertyPath: m_LocalPosition.x @@ -35060,6 +35140,23 @@ Transform: m_CorrespondingSourceObject: {fileID: 7236329420339151181, guid: 2ad42fc20dee64e4ca84470ffa3fb42e, type: 3} m_PrefabInstance: {fileID: 1635467067} m_PrefabAsset: {fileID: 0} +--- !u!1 &1636694565 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 5499406867248628635, guid: 9e5b64cc1f2ea46498fc5952bf0d5895, type: 3} + m_PrefabInstance: {fileID: 1162939157} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1636694569 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1636694565} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9a55ff71c373727419603887e590ca1a, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1638073350 PrefabInstance: m_ObjectHideFlags: 0 @@ -35256,9 +35353,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 4165c4d609d744a73ae0630863a0d750, type: 3} m_Name: m_EditorClassIdentifier: - currentStage: 1 - currentStageClear: 0 - clockController: {fileID: 1774626113} --- !u!4 &1646071860 Transform: m_ObjectHideFlags: 0 @@ -35714,6 +35808,7 @@ Transform: - {fileID: 2026332746} - {fileID: 1383604117} - {fileID: 1170134094} + - {fileID: 1107075710} m_Father: {fileID: 344747221} m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -35724,9 +35819,9 @@ MonoBehaviour: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1675446298} - m_Enabled: 0 + m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 33b91f25b1ae6fa4d9727b23d45aab6a, type: 3} + m_Script: {fileID: 11500000, guid: 232685a0145d4804faf24ab6eff5f59d, type: 3} m_Name: m_EditorClassIdentifier: position: {x: 0, y: 0, z: 0} @@ -37646,16 +37741,16 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c86b485dde0624b17ac8e2fca13a9c18, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!114 &1774626117 +--- !u!114 &1774626114 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1774626112} - m_Enabled: 0 + m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 33b91f25b1ae6fa4d9727b23d45aab6a, type: 3} + m_Script: {fileID: 11500000, guid: 232685a0145d4804faf24ab6eff5f59d, type: 3} m_Name: m_EditorClassIdentifier: position: {x: -18.5, y: 7.06, z: 1.84} @@ -37864,7 +37959,7 @@ GameObject: m_CorrespondingSourceObject: {fileID: 8009453923108019191, guid: 2ad42fc20dee64e4ca84470ffa3fb42e, type: 3} m_PrefabInstance: {fileID: 1775610000} m_PrefabAsset: {fileID: 0} ---- !u!114 &1775610003 +--- !u!114 &1775610007 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -37873,7 +37968,7 @@ MonoBehaviour: m_GameObject: {fileID: 1775610002} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5dc5b8d84ca9e044194aa4abaf491948, type: 3} + m_Script: {fileID: 11500000, guid: 5c99f5f6365787845b5ea832930c5460, type: 3} m_Name: m_EditorClassIdentifier: position: {x: -5.83, y: 0.72, z: 13.4} @@ -40830,7 +40925,7 @@ Transform: - {fileID: 1312744305} - {fileID: 248584500} m_Father: {fileID: 0} - m_RootOrder: 7 + m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &1874864534 PrefabInstance: @@ -41051,21 +41146,6 @@ GameObject: m_CorrespondingSourceObject: {fileID: 1673758693359768105, guid: 7c34e61c4c1b39040bc8b4a56d34f904, type: 3} m_PrefabInstance: {fileID: 454894915} m_PrefabAsset: {fileID: 0} ---- !u!114 &1875637179 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1875637178} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 18e2c46eaa68afe458ec364512f84534, type: 3} - m_Name: - m_EditorClassIdentifier: - prompt: - distanceInteractionMax: 5 - duration: 2 --- !u!65 &1875637180 BoxCollider: m_ObjectHideFlags: 0 @@ -41079,6 +41159,21 @@ BoxCollider: serializedVersion: 2 m_Size: {x: 0.38000008, y: 0.018846659, z: 0.25540006} m_Center: {x: -0.00000047683716, y: 0.0094233295, z: 0} +--- !u!114 &1875637184 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1875637178} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c4646a09d23491249b0c5689ce48a47b, type: 3} + m_Name: + m_EditorClassIdentifier: + prompt: + distanceInteractionMax: 5 + duration: 2 --- !u!1001 &1879079609 PrefabInstance: m_ObjectHideFlags: 0 @@ -43161,7 +43256,7 @@ MonoBehaviour: - {fileID: 5605359256125054964, guid: 48c8f10abe45bef4098efae902701f34, type: 3} checkSpecificAnomaly: 1 checkIntersect: 0 - SpecificAnomalyNum: 11 + SpecificAnomalyNum: 21 currentAnomalyInstance: {fileID: 8678062959089499939, guid: 6aadfcd777444a24180cf51012c6e89c, type: 3} --- !u!4 &1964216256 Transform: @@ -43176,7 +43271,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 2 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &1967068472 PrefabInstance: @@ -44015,6 +44110,52 @@ MonoBehaviour: defaultXMax: 960 defaultYMin: 0 defaultYMax: 540 +--- !u!1 &1997340018 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1997340020} + - component: {fileID: 1997340019} + m_Layer: 0 + m_Name: TimeManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1997340019 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1997340018} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 27f34bf521656324bb91ded1d2864982, type: 3} + m_Name: + m_EditorClassIdentifier: + nameClock: clock + nameLaptop: Laptop +--- !u!4 &1997340020 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1997340018} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &2000714622 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/302/Assets/Scripts/AbstractBehaviour.cs b/302/Assets/Scripts/AbstractBehaviour.cs index 5562c50..e040a43 100644 --- a/302/Assets/Scripts/AbstractBehaviour.cs +++ b/302/Assets/Scripts/AbstractBehaviour.cs @@ -126,16 +126,19 @@ public class MyManager : AbstractBehaviour // TODO: 클래스 이름 수정하 // `Awake` 메시지 용 메서드 protected override bool Awake_() { + bool res = false; + if (Instance == null) { Log($"`Instance` has not been set => set `Instance` as `{Name}`"); Instance = this; DontDestroyOnLoad(gameObject); + res = base.Awake_(); } else { Log($"`Instance` has already been set => destroy `{gameObject.name}`"); Destroy(gameObject); } - return base.Awake_(); + return res; } // 필드를 초기화하는 메서드 diff --git a/302/Assets/Scripts/AbstractStageObserver.cs b/302/Assets/Scripts/AbstractStageObserver.cs new file mode 100644 index 0000000..577fe77 --- /dev/null +++ b/302/Assets/Scripts/AbstractStageObserver.cs @@ -0,0 +1,19 @@ +abstract public class AbstractStageObserver : AbstractBehaviour +{ + /************** + * properties * + **************/ + + // 클래스 이름 + public override string Name { get; } = "AbstractStageObserver"; + + /******************* + * virtual methods * + *******************/ + + // 단계 변경 시 불리는 메서드 + public virtual bool UpdateStage() + { + return true; + } +} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18_Object.cs.meta b/302/Assets/Scripts/AbstractStageObserver.cs.meta similarity index 83% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly18_Object.cs.meta rename to 302/Assets/Scripts/AbstractStageObserver.cs.meta index 0327d0f..e2fc78b 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18_Object.cs.meta +++ b/302/Assets/Scripts/AbstractStageObserver.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 33b91f25b1ae6fa4d9727b23d45aab6a +guid: 711c5e3417a5f7942aa39a83f5192fae MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/302/Assets/Scripts/ClockController.cs b/302/Assets/Scripts/ClockController.cs index 9fafa10..fb11f92 100644 --- a/302/Assets/Scripts/ClockController.cs +++ b/302/Assets/Scripts/ClockController.cs @@ -1,49 +1,50 @@ using UnityEngine; -public class ClockController : MonoBehaviour +public class ClockController : AbstractBehaviour { - public static ClockController Instance { get; private set; } + /************** + * properties * + **************/ - private Transform hourHand; - private Transform minuteHand; + public override string Name { get; } = "ClockController"; - private void Awake() - { - if (Instance == null) - { - Instance = this; - DontDestroyOnLoad(gameObject); - } - else - { - Destroy(gameObject); - } - - hourHand = transform.Find("H"); - minuteHand = transform.Find("M"); - - // initial rotation to 12:00 - hourHand.localRotation = Quaternion.Euler(0, 0, 90); - minuteHand.localRotation = Quaternion.Euler(0, 0, 90); - } + /*************** + * new methods * + ***************/ public void SetTime(int stage) { - // stage 1 at 7:00, stage 8 at 8:45 - int hour = 7 + ((stage - 1) / 4); - int minute = (15 * ((stage - 1) % 4) % 60); - - // Added by 박상윤 - // 0스테이지는 기존과 다르게 그냥 대입 - if(stage == 0) { + int hour = 7; + int minute = 0; + float hourRotation, minuteRotation; + + if (stage == 0) { + // Added by 박상윤 + // 0스테이지는 기존과 다르게 그냥 대입 hour = 6; minute = 50; + } else if (stage > 0) { + // stage 1 at 7:00, stage 8 at 8:45 + hour = 7 + ((stage - 1) / 4); + minute = 15 * ((stage - 1) % 4); + } else { + Log($"Invalid stage: {stage}", mode: 2); } - float minuteRotation = minute * 6f; // 6 degrees per minute - float hourRotation = (hour * 30f) + (minute * 0.5f); // 30 degrees per hour + 0.5 degrees per minute + hourRotation = hour * 30.0f + minute * 0.5f; // 30 degrees per hour + 0.5 degrees per minute + minuteRotation = minute * 6.0f; // 6 degrees per minute - hourHand.localRotation = Quaternion.Euler(0, 0, 90 + hourRotation); - minuteHand.localRotation = Quaternion.Euler(0, 0, 90 + minuteRotation); + transform.Find("H").localRotation = Quaternion.Euler(0, 0, 90 + hourRotation); + transform.Find("M").localRotation = Quaternion.Euler(0, 0, 90 + minuteRotation); } } + +/* modified by 신채환 + * + * - 유일성 삭제 + * - `Instance` 프로퍼티 삭제 + * - `DontDestroyOnLoad`에 넣는 코드 삭제 + * - 유일성이 보장되지 않아도 되도록 코드 수정 + * - `AbstractBehaviour`를 상속하도록 변경 + * - 그냥... 내 맘대로 + */ diff --git a/302/Assets/Scripts/GameManager.cs b/302/Assets/Scripts/GameManager.cs index a596881..3ac7f11 100644 --- a/302/Assets/Scripts/GameManager.cs +++ b/302/Assets/Scripts/GameManager.cs @@ -1,199 +1,278 @@ +using System.Collections; using UnityEngine; using UnityEngine.SceneManagement; -using System; -using System.Collections; -public class GameManager : MonoBehaviour + +public class GameManager : AbstractBehaviour { - public static GameManager Instance { get; private set; } - // 스테이지 관리 - [SerializeField] private int currentStage = 0; - [SerializeField] private bool currentStageClear = false; // 현재 스테이지 클리어 여부 - [SerializeField] private ClockController clockController; + /************* + * constants * + *************/ + + // 신 이름 private const string DEFAULT_SCENE = "DefaultGameScene"; - private const string ENDING_SCENE = "GameEndingScene"; + private const string ENDING_SCENE = "GameEnding Scene"; + + /**************** + * enumerations * + ****************/ + public enum GameState { Playing, + Ending, + + // deprecated states Sleeping, - Paused, GameOver, - GameClear + Paused } - private GameState gameState; - private void Awake() + + /********** + * fields * + **********/ + + // 이상현상 컨트롤러 +/* private AbstractAnomalyObject _anomalyController; */ + + /************** + * properties * + **************/ + + // 클래스 이름 + public override string Name { get; } = "GameManager"; + + // 클래스 인스턴스 + public static GameManager Instance { get; private set; } + + // 게임 상태 + public int Stage { get; private set; } + + public bool IsCleared { get; private set; } + + public GameState State { get; private set; } + + /************************************* + * implementation: AbstractBehaviour * + *************************************/ + + // `Awake` 메시지 용 메서드 + protected override bool Awake_() { - if (Instance == null) - { + bool res = false; + + if (Instance == null) { + Log($"`Instance` has not been set => set `Instance` as `{Name}`"); Instance = this; DontDestroyOnLoad(gameObject); - InitializeGame(); - } - else - { + res = base.Awake_(); + } else { + Log($"`Instance` has already been set => destroy `{gameObject.name}`"); Destroy(gameObject); } + + return res; } - private void Start() + + // 필드를 초기화하는 메서드 + protected override bool InitFields() { - clockController = ClockController.Instance; - // 시계 바늘 7:00로 초기화 - clockController.SetTime(currentStage); + bool res = base.InitFields(); + + Stage = 0; + IsCleared = false; + State = GameState.Playing; - // Added by 신 채 환 - // 슬라이드 초기화 - SlideManager.Instance.UpdateStage(); + Log("Call `StartStage` asynchronously"); + StartCoroutine(StartStage()); + + return res; } - private void InitializeGame() + + /*************** + * new methods * + ***************/ + + // 스테이지 완료 시 호출되는 메서드 + public bool SetStageClear() { - currentStage = 0; - currentStageClear = false; - gameState = GameState.Playing; - LoadDefaultScene(); - } - public void SetCurrentStage(int stage){ - currentStage = stage; + bool res = true; + + IsCleared = true; +/* if (_anomalyController != null) { + Log($"Call `{_anomalyController.Name}.ResetAnomaly` begin"); + if (_anomalyController.ResetAnomaly()) { + Log($"Call `{_anomalyController.Name}.ResetAnomaly` success"); + } else { + Log($"Call `{_anomalyController.Name}.ResetAnomaly` failed", mode: 2); + res = false; + } + } else { + Log($"Call `ResetAnomaly` of the anomaly controller failed", mode: 2); + res = false; + } */ + + return res; } - // 스테이지 클리어 조건 달성 시 호출 - public void SetStageClear() + // 잠들 시 호출되는 메서드 + public bool Sleep() { - currentStageClear = true; + bool res = true; + +/* Log("Call `PlayerManager.Sleep` begin"); + if (PlayerManager.Instance.Sleep()) { + Log("Call `PlayerManager.Sleep` success"); + } else { + Log("Call `PlayerManager.Sleep` failed", mode: 2); + res = false; + } */ + + if (IsCleared) { + Log("Stage clear => next stage"); + Stage++; + IsCleared = false; + } else { + Log("Stage failed => stage 1"); + Stage = 1; + } + + if (Stage <= 8) { + Log("Call `StartStage` asynchronously"); + StartCoroutine(StartStage()); + } else { + Log("Call `StartEnding` begin"); + if (StartEnding()) { + Log("Call `StartEnding` success"); + } else { + Log("Call `StartEnding` failed", mode: 2); + res = false; + } + } + + return res; } - public void SetStageNoClear() + + // 게임오버 시 호출되는 메서드 + public bool GameOver() { - currentStageClear = false; + bool res = true; + +/* Log("Call `PlayerManager.GameOver` begin"); + if (PlayerManager.Instance.GameOver()) { + Log("Call `PlayerManager.GameOver` success"); + } else { + Log("Call `PlayerManager.GameOver` failed", mode: 2); + res = false; + } */ + + Stage = 1; + IsCleared = false; + + Log("Call `StartStage` asynchronously"); + StartCoroutine(StartStage()); + + return res; } - // 플레이어가 Sleep 선택 시 호출 - public void Sleep() + + // 단계를 시작하는 메서드 + private IEnumerator StartStage() { - // Added by 신 채 환 - // 시계 초기화 - GameObject clock = GameObject.Find("clock"); - if (clock != null) { - Anomaly18_Object script = clock.GetComponent(); - if (script != null && script.enabled) { - script.ResetAnomalyNow(); - } + AsyncOperation asyncOperation; + AbstractStageObserver[] observers; + + SceneManager.LoadScene(DEFAULT_SCENE); + asyncOperation = Resources.UnloadUnusedAssets(); + + while (!asyncOperation.isDone) { + yield return null; } - gameState = GameState.Sleeping; - if (currentStageClear) - { - // 스테이지 클리어한 상태로 잠들기 - currentStage++; - - // 7단계(8:45) 이후 클리어 시 게임 클리어 - if (currentStage >= 9) - { - GameClear(); - return; - } + observers = FindObjectsByType(FindObjectsSortMode.None); + for (int idx = 0; idx < observers.Length; idx++) { + observers[idx].UpdateStage(); } - else - { - // 스테이지 클리어하지 못한 상태로 잠들기 - Debug.Log("스테이지 클리어 실패!"); - currentStage = 1; // 스테이지 초기화 - // Added by 박 상 윤 - // 이상현상 리스트 재생성 호출 - // 스테이지 실패 시, 이상현상 리스트를 초기화, 재생성 해야 하므로 - // AnomalyManager의 Stage Failure시 작동하는 함수 호출 + if (Stage == 1) { AnomalyManager.Instance.ResetAnomaliesOnFailure(); } - currentStageClear = false; // 클리어 상태 초기화 - LoadDefaultScene(); - // Added by 박 상 윤 - // 다음 스테이지에 대한 이상현상 확인 및 생성 - // 현재 currentStage에 맞추어 이상현상을 생성해야 하므로 - // AnomalyManager의 이상현상 Instantiate 용 함수를 호출 - StartCoroutine(InstantiateAnomalyAfterLoad()); - StartCoroutine(FindAndChangeScreen()); - // Added by 서 지 희 - // LoadDefaultScene() 호출 다음에 시계 조정 - clockController.SetTime(currentStage); +/* _anomalyController = AnomalyManager.Instance.GetAnomalyController(); + _anomalyController.StartAnomaly(); */ + AnomalyManager.Instance.CheckAndInstantiateAnomaly(); - // Added by 신 채 환 - // 슬라이드 초기화 - SlideManager.Instance.UpdateStage(); +/* Log("Call `PlayerManager.WakeUp` begin"); + if (PlayerManager.Instance.WakeUp()) { + Log("Call `PlayerManager.WakeUp` success"); + } else { + Log("Call `PlayerManager.WakeUp` failed", mode: 2); + res = false; + } */ + FindObjectOfType().WakeUp(); } - private void LoadDefaultScene() - { - SceneManager.LoadScene(DEFAULT_SCENE); - StartCoroutine(WakeUpPlayerAfterLoad()); - } - private IEnumerator WakeUpPlayerAfterLoad() + + // 엔딩을 시작하는 메서드 + private bool StartEnding() { - yield return new WaitForSeconds(0.1f); - PlayerController player = FindObjectOfType(); - if (player != null) - { - player.WakeUp(); - } + bool res = true; + + State = GameState.Ending; + SceneManager.LoadScene(ENDING_SCENE); + + return res; } - private IEnumerator InstantiateAnomalyAfterLoad() + + /********************** + * deprecated methods * + **********************/ + + public void SetStageNoClear() { - yield return new WaitForSeconds(0.1f); // 장면 로드 완료 후 잠깐 대기 - AnomalyManager.Instance.CheckAndInstantiateAnomaly(); + IsCleared = false; } - private void GameClear() + public int GetCurrentStage() { - gameState = GameState.GameClear; - SceneManager.LoadScene(ENDING_SCENE); + return Stage; } - // 현재 스테이지 번호 반환 - public int GetCurrentStage() + + public void SetCurrentStage(int stage) { - return currentStage; + Stage = stage; } - // 현재 스테이지 클리어 여부 반환 + public bool IsStageClear() { - return currentStageClear; + return IsCleared; } - + public GameState GetGameState() { - return gameState; + return State; } + public void RestartGame() { - InitializeGame(); + + Stage = 0; + IsCleared = false; + State = GameState.Playing; + + Log("Call `StartStage` asynchronously"); + StartCoroutine(StartStage()); } + public void PauseGame() { - if (gameState == GameState.Playing) - { - gameState = GameState.Paused; + if (State == GameState.Playing) { + State = GameState.Paused; Time.timeScale = 0; } } + public void ResumeGame() { - if (gameState == GameState.Paused) - { - gameState = GameState.Playing; + if (State == GameState.Paused) { + State = GameState.Playing; Time.timeScale = 1; } } - private IEnumerator FindAndChangeScreen() - { - yield return new WaitForSeconds(0.1f); // 0.1초 대기 - - GameObject laptopObject = GameObject.FindWithTag("Laptop"); - if (laptopObject != null) - { - LaptopScreenController controller = laptopObject.GetComponent(); - if (controller != null) - { - controller.ChangeScreen(currentStage); - // modified by 신채환 - // 0단계 추가에 따른 화면 색인 변경 반영 - } - } else { - Debug.Log("!!!!!"); - } - } - -} \ No newline at end of file +} diff --git a/302/Assets/Scripts/InteractableLaptopForFace.cs b/302/Assets/Scripts/InteractableLaptopForFace.cs index 84147aa..21af9b5 100644 --- a/302/Assets/Scripts/InteractableLaptopForFace.cs +++ b/302/Assets/Scripts/InteractableLaptopForFace.cs @@ -6,7 +6,7 @@ public class InteractableLaptopForFace : InteractableLaptop public override void OnInteract() { - Anomaly2_Laptop obj = GetComponentInParent(); + Anomaly02Laptop obj = GetComponentInParent(); base.OnInteract(); diff --git a/302/Assets/Scripts/SlideManager.cs b/302/Assets/Scripts/SlideManager.cs index 6200a33..78c2afa 100644 --- a/302/Assets/Scripts/SlideManager.cs +++ b/302/Assets/Scripts/SlideManager.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using UnityEngine; -public class SlideManager : AbstractBehaviour, IStageObserver +public class SlideManager : AbstractStageObserver { /********** * fields * @@ -36,60 +36,6 @@ public class SlideManager : AbstractBehaviour, IStageObserver // 클래스 인스턴스 public static SlideManager Instance { get; private set; } - /********************************** - * implementation: IStageObserver * - **********************************/ - - public bool UpdateStage() - { - int stage = GameManager.Instance.GetCurrentStage(); - bool res = true; - - if (stage == 0) { - // generate random slide index list - _slideList = _random.Combination(numSlide, numStage); - Log($"Generate `_slideList` success: [{string.Join(", ", _slideList)}]"); - - // find and put away the slides - Log("Call `FindSlides` begin"); - if (FindSlides()) { - Log("Call `FindSlides` success"); - - foreach (GameObject obj in _objects) { - obj.transform.Translate(Vector3.down * 100.0f); - } - - Log("Set slide success: off"); - } else { - Log("Call `FindSlides` failed", mode: 1); - res = false; - } - } else if (stage > 0 && stage <= numStage) { - // find and update slides - Log("Call `FindSlides` begin"); - if (FindSlides()) { - Log("Call `FindSlides` success"); - - int index = _slideList[stage - 1]; - - foreach (SlideController controller in _controllers) { - controller.Index = index; - controller.ResetSlide(); - } - - Log($"Set slide success: {index}"); - } else { - Log("Call `FindSlides` failed", mode: 1); - res = false; - } - } else { - Log($"Invalid stage: {stage}", mode: 1); - res = false; - } - - return res; - } - /************************************* * implementation: AbstractBehaviour * *************************************/ @@ -97,16 +43,19 @@ public bool UpdateStage() // `Awake` 메시지 용 메서드 protected override bool Awake_() { + bool res = false; + if (Instance == null) { Log($"`Instance` has not been set => set `Instance` as `{Name}`"); Instance = this; DontDestroyOnLoad(gameObject); + res = base.Awake_(); } else { Log($"`Instance` has already been set => destroy `{gameObject.name}`"); Destroy(gameObject); } - return base.Awake_(); + return res; } // 필드를 초기화하는 메서드 @@ -118,6 +67,12 @@ protected override bool InitFields() _random = new SCH_Random(); Log("Initialize `_random` success"); + // _objects + _objects = new List(); + + // _controllers + _controllers = new List(); + // _slideList _slideList = new int[numStage]; Log("Initialize `_slideList` success"); @@ -125,15 +80,118 @@ protected override bool InitFields() return res; } + /***************************************** + * implementation: AbstractStageObserver * + *****************************************/ + + public override bool UpdateStage() + { + int stage = GameManager.Instance.GetCurrentStage(); + bool res = true; + + if (stage == 0) { + Log("Call `PutAwaySlides` begin"); + if (PutAwaySlides()) { + Log("Call `PutAwaySlides` success"); + } else { + Log("Call `PutAwaySlides` failed", mode: 1); + res = false; + } + } else if (stage > 0 && stage <= numStage) { + if (stage == 1) { + Log("Call `GenerateList` begin"); + if (GenerateList()) { + Log("Call `GenerateList` success"); + } else { + Log("Call `GenerateList` failed", mode: 1); + res = false; + } + } + + Log("Call `UpdateSlides` begin"); + if (UpdateSlides(stage)) { + Log("Call `UpdateSlides` success"); + } else { + Log("Call `UpdateSlides` failed", mode: 1); + res = false; + } + } else { + Log($"Invalid stage: {stage}", mode: 1); + res = false; + } + + return res; + } + /*************** * new methods * ***************/ + // 슬라이드를 치우는 메서드 + private bool PutAwaySlides() + { + bool res = true; + + Log("Call `FindSlides` begin"); + if (FindSlides()) { + Log("Call `FindSlides` success"); + + foreach (GameObject obj in _objects) { + obj.transform.Translate(Vector3.down * 100.0f); + } + + Log("Set slide success: off"); + } else { + Log("Call `FindSlides` failed", mode: 1); + res = false; + } + + return res; + } + + // 슬라이드 색인 리스트를 생성하는 메서드 + private bool GenerateList() + { + bool res = true; + + _slideList = _random.Combination(numSlide, numStage); + Log($"Generate `_slideList` success: [{string.Join(", ", _slideList)}]"); + + return res; + } + + // 슬라이드를 갱신하는 메서드 + private bool UpdateSlides(int stage) + { + int index = _slideList[stage - 1]; + bool res = true; + + Log("Call `FindSlides` begin"); + if (FindSlides()) { + Log("Call `FindSlides` success"); + + foreach (SlideController controller in _controllers) { + controller.Index = index; + controller.ResetSlide(); + } + + Log($"Set slide success: {index}"); + } else { + Log("Call `FindSlides` failed", mode: 1); + res = false; + } + + return res; + } + // 슬라이드를 찾는 메서드 private bool FindSlides() { bool res = true; + _objects.Clear(); + _controllers.Clear(); + for (int idx = 0; idx < names.Length; idx++) { GameObject obj = GameObject.Find(names[idx]); diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly1_Chair.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly01Chair.cs similarity index 83% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly1_Chair.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly01Chair.cs index 5c8366d..b312c78 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly1_Chair.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly01Chair.cs @@ -1,6 +1,6 @@ using UnityEngine; -public class Anomaly1_Chair : AbstractAnomalyObject +public class Anomaly01Chair : AbstractAnomalyObject { /********** * fields * @@ -14,7 +14,7 @@ public class Anomaly1_Chair : AbstractAnomalyObject **************/ // 클래스 이름 - public override string Name { get; } = "Anomaly1_Chair"; + public override string Name { get; } = "Anomaly01Chair"; /***************************************** * implementation: AbstractAnomalyObject * diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18_Prefab.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly01Chair.cs.meta similarity index 83% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly18_Prefab.cs.meta rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly01Chair.cs.meta index e4bca67..4eebd05 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18_Prefab.cs.meta +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly01Chair.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: abf04317342a08b43b99639716e15455 +guid: 5c99f5f6365787845b5ea832930c5460 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly1Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly01Controller.cs similarity index 84% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly1Manager.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly01Controller.cs index 26e0fda..6416987 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly1Manager.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly01Controller.cs @@ -1,11 +1,11 @@ -public class Anomaly1Manager : AbstractAnomalyComposite +public class Anomaly01Controller : AbstractAnomalyComposite { /************** * properties * **************/ // 클래스 이름 - public override string Name { get; } = "Anomaly1Manager"; + public override string Name { get; } = "Anomaly01Controller"; /************************************* * implementation: AbstractBehaviour * diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly01Controller.cs.meta similarity index 83% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Manager.cs.meta rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly01Controller.cs.meta index 7e2251f..056f092 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Manager.cs.meta +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly01Controller.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 921b5d489d0fd473a90b2648020b6981 +guid: c67cdddaf28e37c4a805248e25178dcb MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly1_Girl.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly01Girl.cs similarity index 88% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly1_Girl.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly01Girl.cs index 4027ac7..db570b2 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly1_Girl.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly01Girl.cs @@ -1,14 +1,14 @@ using UnityEngine; [RequireComponent(typeof(Animator))] -public class Anomaly1_Girl : AbstractAnomalyInteractable +public class Anomaly01Girl : AbstractAnomalyInteractable { /************** * properties * **************/ // 클래스 이름 - public override string Name { get; } = "Anomaly1_Girl"; + public override string Name { get; } = "Anomaly01Girl"; /********************************* * implementation: IInteractable * @@ -24,7 +24,7 @@ public override void OnInteract() Log("Call `GameManager.SetStageClear` end"); // Code used before `GameManager` updates begin - GameObject controllerObject = GameObject.Find("Anomaly1Manager"); + GameObject controllerObject = GameObject.Find("AnomalyManager (1)(Clone)"); AbstractAnomalyObject controller = controllerObject.GetComponent(); Log($"Call `{controller.Name}.ResetAnomaly` begin"); diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18_Interactable.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly01Girl.cs.meta similarity index 83% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly18_Interactable.cs.meta rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly01Girl.cs.meta index 0a667a1..f27976c 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18_Interactable.cs.meta +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly01Girl.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c1fef15414d38cd49ac6dc744856e8b9 +guid: 61696140f24c05e4a8a11b47c471b12b MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly02Controller.cs similarity index 84% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Manager.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly02Controller.cs index 62129fc..c86479c 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Manager.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly02Controller.cs @@ -1,11 +1,11 @@ -public class Anomaly18Manager : AbstractAnomalyComposite +public class Anomaly02Controller : AbstractAnomalyComposite { /************** * properties * **************/ // 클래스 이름 - public override string Name { get; } = "Anomaly18Manager"; + public override string Name { get; } = "Anomaly02Controller"; /************************************* * implementation: AbstractBehaviour * diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly02Controller.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly02Controller.cs.meta new file mode 100644 index 0000000..5d09497 --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly02Controller.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8d9468dc8f9a8604798977ba7532e464 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly2_Laptop.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly02Laptop.cs similarity index 93% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly2_Laptop.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly02Laptop.cs index 8f14570..4afdaa5 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly2_Laptop.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly02Laptop.cs @@ -1,7 +1,7 @@ using UnityEngine; [RequireComponent(typeof(LaptopFaceController))] -public class Anomaly2_Laptop : AbstractAnomalyInteractable +public class Anomaly02Laptop : AbstractAnomalyInteractable { /********** * fields * @@ -18,7 +18,7 @@ public class Anomaly2_Laptop : AbstractAnomalyInteractable **************/ // 클래스 이름 - public override string Name { get; } = "Anomaly2_Laptop"; + public override string Name { get; } = "Anomaly02Laptop"; /********************************* * implementation: IInteractable * @@ -34,7 +34,7 @@ public override void OnInteract() Log("Call `GameManager.SetStageClear` end"); // Code used before `GameManager` updates begin - GameObject controllerObject = GameObject.Find("Anomaly2Manager"); + GameObject controllerObject = GameObject.Find("AnomalyManager (2)(Clone)"); AbstractAnomalyObject controller = controllerObject.GetComponent(); Log($"Call `{controller.Name}.ResetAnomaly` begin"); diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly02Laptop.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly02Laptop.cs.meta new file mode 100644 index 0000000..628e04f --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly02Laptop.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c4646a09d23491249b0c5689ce48a47b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly2Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly03Controller.cs similarity index 77% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly2Manager.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly03Controller.cs index c562b11..f873934 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly2Manager.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly03Controller.cs @@ -1,11 +1,9 @@ -public class Anomaly2Manager : AbstractAnomalyComposite -{ - /************** - * properties * - **************/ +using UnityEngine; +public class Anomaly03Controller : AbstractAnomalyComposite +{ // 클래스 이름 - public override string Name { get; } = "Anomaly2Manager"; + public override string Name { get; } = "Anomaly03Controller"; /************************************* * implementation: AbstractBehaviour * @@ -25,7 +23,7 @@ protected override bool Awake_() res = false; } // Code used before `GameManager` updates end - + return res; } -} +} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly3Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly03Controller.cs.meta similarity index 100% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly3Manager.cs.meta rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly03Controller.cs.meta diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly3_noHeadSitGirl.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly03_noHeadSitGirl.cs similarity index 52% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly3_noHeadSitGirl.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly03_noHeadSitGirl.cs index ade9b71..08a3d49 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly3_noHeadSitGirl.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly03_noHeadSitGirl.cs @@ -1,16 +1,64 @@ using UnityEngine; using System.Collections; +[RequireComponent(typeof(AudioSource))] -public class Anomaly3_noHeadSitGirl : InteractableObject, IInteractable +public class Anomaly03_noHeadSitGirl : AbstractAnomalyInteractable { - private bool hasInteracted = false; // Ensures only one interaction occurs + // 클래스 이름 + public override string Name { get; } = "Anomaly03_noHeadSitGirl"; private Transform cameraTransform; // Reference to the Main Camera's transform private AudioSource audioSource; // Reference to the AudioSource component + private float distanceToCamera; // Distance between player and anomaly object - private void Start() + // 상호작용 시 실행될 메서드 + public virtual void OnInteract() + { + base.OnInteract(); + + Log("Call `GameManager.SetStageClear` begin"); + GameManager.Instance.SetStageClear(); + Log("Call `GameManager.SetStageClear` end"); + + // Code used before `GameManager` updates begin + GameObject controllerObject = GameObject.Find("AnomalyManager (3)(Clone)"); + AbstractAnomalyObject controller = controllerObject.GetComponent(); + + Log($"Call `{controller.Name}.ResetAnomaly` begin"); + if (controller.ResetAnomaly()) { + Log($"Call `{controller.Name}.ResetAnomaly` success"); + } else { + Log($"Call `{controller.Name}.ResetAnomaly` failed", mode: 1); + } + // Code used before `GameManager` updates end + } + + // 현재 상호작용 가능한지 여부 반환 + public virtual bool CanInteract(float distance) + { + bool res = base.CanInteract(distance); + + return res; + } + + // 필드를 초기화하는 메서드 + protected override bool InitFields() + { + bool res = base.InitFields(); + + // Get the AudioSource component + audioSource = GetComponent(); + if (audioSource == null) + { + Debug.LogError("AudioSource component is missing on the prefab."); + res = false; + } + + return res; + } + + private void Update() { - // Find the main camera in the scene GameObject mainCamera = GameObject.FindWithTag("MainCamera"); if (mainCamera != null) { @@ -20,21 +68,25 @@ private void Start() { Debug.LogError("Main Camera not found! Ensure the main camera has the 'MainCamera' tag."); } + + distanceToCamera = Vector3.Distance(transform.position, cameraTransform.position); - // Get the AudioSource component - audioSource = GetComponent(); - if (audioSource == null) - { - Debug.LogError("AudioSource component is missing on the prefab."); - } + CheckAndPlayAudio(); + } - private void Update() + // 이상현상을 초기화하는 메서드 + public override bool ResetAnomaly() { - if (cameraTransform == null || audioSource == null) return; + bool res = base.ResetAnomaly(); + + StartCoroutine(FadeOut(gameObject, 2f)); // Fades out over 2 seconds + + return res; + } - // Check the distance to the camera and play sound if within 5f - float distanceToCamera = Vector3.Distance(transform.position, cameraTransform.position); + private void CheckAndPlayAudio() + { if (distanceToCamera <= 5f) { if (!audioSource.isPlaying) // Start playing if not already playing @@ -51,31 +103,7 @@ private void Update() } } - // Returns the prompt text for interaction (e.g., displayed on cursor) - public string GetInteractionPrompt() - { - return "Press Left Click to interact with the figure"; - } - - // Determines if interaction is currently possible - public bool CanInteract(float distance) - { - return !hasInteracted; // Interaction is allowed only once - } - // modified by 신채환 - // CanInteract 메서드가 거리를 인자로 받도록 변경 - - // Handles interaction with the headless schoolgirl - public void OnInteract() - { - if (hasInteracted) return; // Ensure interaction only happens once - - hasInteracted = true; - StartCoroutine(FadeOutAndClearStage(gameObject, 2f)); // Fades out over 2 seconds and then clears stage - } - - // Coroutine to gradually fade out, destroy the object, and set the stage clear - private IEnumerator FadeOutAndClearStage(GameObject obj, float duration) + private IEnumerator FadeOut(GameObject obj, float duration) { Renderer[] renderers = obj.GetComponentsInChildren(); float elapsedTime = 0f; @@ -101,8 +129,5 @@ private IEnumerator FadeOutAndClearStage(GameObject obj, float duration) } Destroy(obj); // Remove the object completely after fading out - - // Mark the stage as clear after the object is fully faded out - GameManager.Instance.SetStageClear(); } } diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly3_noHeadSitGirl.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly03_noHeadSitGirl.cs.meta similarity index 100% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly3_noHeadSitGirl.cs.meta rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly03_noHeadSitGirl.cs.meta diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly6_Cake.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly06Cake.cs similarity index 93% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly6_Cake.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly06Cake.cs index a085b91..9892f30 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly6_Cake.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly06Cake.cs @@ -1,7 +1,7 @@ using System.Collections; using UnityEngine; -public class Anomaly6_Cake : AbstractAnomalyInteractable +public class Anomaly06Cake : AbstractAnomalyInteractable { /********** * fields * @@ -14,7 +14,7 @@ public class Anomaly6_Cake : AbstractAnomalyInteractable **************/ // 클래스 이름 - public override string Name { get; } = "Anomaly6_Cake"; + public override string Name { get; } = "Anomaly06Cake"; /********************************* * implementation: IInteractable * @@ -30,7 +30,7 @@ public override void OnInteract() Log("Call `GameManager.SetStageClear` end"); // Code used before `GameManager` updates begin - GameObject controllerObject = GameObject.Find("Anomaly6Manager"); + GameObject controllerObject = GameObject.Find("AnomalyManager (6)(Clone)"); AbstractAnomalyObject controller = controllerObject.GetComponent(); Log($"Call `{controller.Name}.ResetAnomaly` begin"); diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly06Cake.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly06Cake.cs.meta new file mode 100644 index 0000000..c011ad7 --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly06Cake.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 63c2b768a7e3960459603cf9e88eecc0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly19Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly06Controller.cs similarity index 84% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly19Manager.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly06Controller.cs index f558538..4e98fcf 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly19Manager.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly06Controller.cs @@ -1,11 +1,11 @@ -public class Anomaly19Manager : AbstractAnomalyComposite +public class Anomaly06Controller : AbstractAnomalyComposite { /************** * properties * **************/ // 클래스 이름 - public override string Name { get; } = "Anomaly19Manager"; + public override string Name { get; } = "Anomaly06Controller"; /************************************* * implementation: AbstractBehaviour * diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly06Controller.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly06Controller.cs.meta new file mode 100644 index 0000000..bb7fa6b --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly06Controller.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 80c70e551dbdb0848b48ebca6e6a12c1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly08Controller.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly08Controller.cs new file mode 100644 index 0000000..7fb4dca --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly08Controller.cs @@ -0,0 +1,25 @@ +using UnityEngine; + +public class Anomaly08Controller : AbstractAnomalyComposite +{ + // 클래스 이름 + public override string Name { get; } = "Anomaly08Controller"; + + // `Awake` 메시지 용 메서드 + protected override bool Awake_() + { + bool res = base.Awake_(); + + // Code used before `GameManager` updates begin + Log("Call `StartAnomaly` begin"); + if (StartAnomaly()) { + Log("Call `StartAnomaly` success"); + } else { + Log("Call `StartAnomaly` failed", mode: 1); + res = false; + } + // Code used before `GameManager` updates end + + return res; + } +} \ No newline at end of file diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly8Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly08Controller.cs.meta similarity index 100% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly8Manager.cs.meta rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly08Controller.cs.meta diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly8_micsound.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly08_micsound.cs similarity index 50% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly8_micsound.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly08_micsound.cs index ac350d3..9d7cb68 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly8_micsound.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly08_micsound.cs @@ -1,11 +1,11 @@ using UnityEngine; using System.Collections; -public class Anomaly8_micsound : InteractableObject, IInteractable +public class Anomaly08_micsound : AbstractAnomalyInteractable { - private bool hasInteracted = false; // Ensures only one interaction occurs - private Transform playerTransform; // Reference to the player's transform - private AudioSource audioSource; // Reference to the AudioSource component + + private Transform playerTransform; + private AudioSource audioSource; public float maxVolumeDistance = 5f; // Distance at which the audio reaches max volume public float startDistance = 30f; // Maximum distance where the audio starts being audible @@ -14,9 +14,37 @@ public class Anomaly8_micsound : InteractableObject, IInteractable private bool isAudioActive = false; - private void Start() + // 클래스 이름 + public override string Name { get; } = "Anomaly08_micsound"; + + // 상호작용 시 실행될 메서드 + public override void OnInteract() + { + base.OnInteract(); + + Log("Call `GameManager.SetStageClear` begin"); + GameManager.Instance.SetStageClear(); + Log("Call `GameManager.SetStageClear` end"); + + // Code used before `GameManager` updates begin + GameObject controllerObject = GameObject.Find("AnomalyManager (8)(Clone)"); + AbstractAnomalyObject controller = controllerObject.GetComponent(); + + Log($"Call `{controller.Name}.ResetAnomaly` begin"); + if (controller.ResetAnomaly()) { + Log($"Call `{controller.Name}.ResetAnomaly` success"); + } else { + Log($"Call `{controller.Name}.ResetAnomaly` failed", mode: 1); + } + // Code used before `GameManager` updates end + + } + + // 필드를 초기화하는 메서드 + protected override bool InitFields() { - // Locate the player (or main camera, as specified) + bool res = base.InitFields(); + GameObject player = GameObject.FindWithTag("MainCamera"); if (player != null) { @@ -25,6 +53,7 @@ private void Start() else { Debug.LogError("Main Camera not found! Make sure the main camera has the 'MainCamera' tag."); + res = false; } // Get the AudioSource component attached to this GameObject @@ -33,72 +62,65 @@ private void Start() { audioSource.loop = true; // Ensure the sound loops continuously until interaction audioSource.volume = 0f; - StartCoroutine(DelayedAudiosStart()); } else { Debug.LogError("AudioSource component is missing on Anomaly8_micsound."); + res = false; } + return res; } - private IEnumerator DelayedAudiosStart() + // 이상현상을 시작하는 메서드 + public override bool StartAnomaly() { - yield return new WaitForSeconds(audioStartDelay); - isAudioActive = true; - audioSource.Play(); - Debug.Log("Audio playback started after delay."); - + bool res = base.StartAnomaly(); + + StartCoroutine(DelayedAudiosStart()); + + return res; } private void Update() { - if (playerTransform == null || audioSource == null) return; + // Calculate the distance between the player and this object + float distanceToPlayer = Vector3.Distance(transform.position, playerTransform.position); - if (!hasInteracted) + // Adjust the volume based on the distance, from 0 at `startDistance` to 1 at `maxVolumeDistance` + if (distanceToPlayer <= startDistance) { - // Calculate the distance between the player and this object - float distanceToPlayer = Vector3.Distance(transform.position, playerTransform.position); - - // Adjust the volume based on the distance, from 0 at `startDistance` to 1 at `maxVolumeDistance` - if (distanceToPlayer <= startDistance) - { - audioSource.volume = Mathf.Clamp01(1 - ((distanceToPlayer - maxVolumeDistance) / (startDistance - maxVolumeDistance))); - } - else - { - audioSource.volume = 0f; // Ensure volume is zero if outside the starting distance - } + audioSource.volume = Mathf.Clamp01(1 - ((distanceToPlayer - maxVolumeDistance) / (startDistance - maxVolumeDistance))); + } + else + { + audioSource.volume = 0f; // Ensure volume is zero if outside the starting distance } } - // Returns the prompt text for interaction - public string GetInteractionPrompt() + // 이상현상을 초기화하는 메서드 + public override bool ResetAnomaly() { - return "Press Left Click to interact with the microphone sound"; - } + bool res = base.ResetAnomaly(); - // Determines if interaction is currently possible - public bool CanInteract(float distance) - { - return !hasInteracted; // Allow interaction only once + StartCoroutine(FadeOutAndStop()); // Start fade-out coroutine upon interaction + + + return res; } - // modified by 신채환 - // CanInteract 메서드가 거리를 인자로 받도록 변경 - // Handles interaction with the microphone - public void OnInteract() + private IEnumerator DelayedAudiosStart() { - if (hasInteracted) return; // Ensure interaction only happens once - - hasInteracted = true; - StartCoroutine(FadeOutAndStop()); // Start fade-out coroutine upon interaction - Debug.Log("Microphone sound interaction triggered: Sound fading out."); - GameManager.Instance.SetStageClear(); + yield return new WaitForSeconds(audioStartDelay); + isAudioActive = true; + audioSource.Play(); + Debug.Log("Audio playback started after delay."); + } // Coroutine to gradually fade out the volume and stop the audio private IEnumerator FadeOutAndStop() { + Debug.Log("Microphone sound interaction triggered: Sound fading out."); float startVolume = audioSource.volume; float elapsed = 0f; @@ -110,6 +132,6 @@ private IEnumerator FadeOutAndStop() } audioSource.Stop(); // Stop the audio playback completely - audioSource.volume = startVolume; // Reset volume for potential reuse of this script + //audioSource.volume = startVolume; // Reset volume for potential reuse of this script } -} +} \ No newline at end of file diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly8_micsound.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly08_micsound.cs.meta similarity index 100% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly8_micsound.cs.meta rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly08_micsound.cs.meta diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly08_normal.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly08_normal.cs new file mode 100644 index 0000000..a7d9ec8 --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly08_normal.cs @@ -0,0 +1,30 @@ +using UnityEngine; + +public class Anomaly08_normal : AbstractAnomalyObject +{ + /********** + * fields * + **********/ + + /************** + * properties * + **************/ + + // 클래스 이름 + public override string Name { get; } = "Anomaly08_normal"; + + /***************************************** + * implementation: AbstractAnomalyObject * + *****************************************/ + + // 이상현상을 시작하는 메서드 + public override bool StartAnomaly() + { + bool res = base.StartAnomaly(); + + gameObject.SetActive(false); + Log("Deleted normal professor."); + + return res; + } +} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly08_normal.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly08_normal.cs.meta new file mode 100644 index 0000000..92d1154 --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly08_normal.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c74fcacda5ca304409e13b81453d92a2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly6Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly10Controller.cs similarity index 62% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly6Manager.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly10Controller.cs index 347474b..bba5e7e 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly6Manager.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly10Controller.cs @@ -1,15 +1,9 @@ -public class Anomaly6Manager : AbstractAnomalyComposite -{ - /************** - * properties * - **************/ +using UnityEngine; +public class Anomaly10Controller : AbstractAnomalyComposite +{ // 클래스 이름 - public override string Name { get; } = "Anomaly6Manager"; - - /************************************* - * implementation: AbstractBehaviour * - *************************************/ + public override string Name { get; } = "Anomaly10Controller"; // TODO: 클래스 이름 추가하기. // `Awake` 메시지 용 메서드 protected override bool Awake_() diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly10Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly10Controller.cs.meta similarity index 100% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly10Manager.cs.meta rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly10Controller.cs.meta diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly10Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly10Manager.cs deleted file mode 100644 index 28d17ca..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly10Manager.cs +++ /dev/null @@ -1,25 +0,0 @@ -using UnityEngine; - -public class Anomaly10Manager : MonoBehaviour -{ - public GameObject abnormalTilePrefab; // Prefab for the headless schoolgirl - - private void Start() - { - Debug.Log("Anomaly 10 Started"); - SpawnAbnormalTile(); - } - - // Spawns the headless schoolgirl prefab at the specified location - private void SpawnAbnormalTile() - { - if (abnormalTilePrefab != null) - { - GameObject abnormalTileInstance = Instantiate(abnormalTilePrefab); - } - else - { - Debug.LogWarning("Prefab or spawn location not set for Anomaly10Manager."); - } - } -} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly10_abnormalTile.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly10_abnormalTile.cs index d8957f4..e9dc44c 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly10_abnormalTile.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly10_abnormalTile.cs @@ -1,47 +1,63 @@ using UnityEngine; using System.Collections; -public class Anomaly10_abnormalTile : InteractableObject, IInteractable +public class Anomaly10_abnormalTile : AbstractAnomalyInteractable { - private bool hasInteracted = false; // Ensures only one interaction occurs - private AudioSource audioSource; // Reference to the AudioSource component - private void Start() + // 클래스 이름 + public override string Name { get; } = "Anomaly10_abnormalTile"; + + // 상호작용 시 실행될 메서드 + public override void OnInteract() { + base.OnInteract(); + + Log("Call `GameManager.SetStageClear` begin"); + GameManager.Instance.SetStageClear(); + Log("Call `GameManager.SetStageClear` end"); + + // Code used before `GameManager` updates begin + GameObject controllerObject = GameObject.Find("AnomalyManager (10)(Clone)"); + AbstractAnomalyObject controller = controllerObject.GetComponent(); + + Log($"Call `{controller.Name}.ResetAnomaly` begin"); + if (controller.ResetAnomaly()) { + Log($"Call `{controller.Name}.ResetAnomaly` success"); + } else { + Log($"Call `{controller.Name}.ResetAnomaly` failed", mode: 1); + } + // Code used before `GameManager` updates end + } + + // 필드를 초기화하는 메서드 + protected override bool InitFields() + { + bool res = base.InitFields(); + // Try to get the AudioSource component attached to this object audioSource = GetComponent(); if (audioSource == null) { Debug.LogError("AudioSource component is missing! Please attach an AudioSource to this object."); + res = false; } - } - - // Returns the prompt text for interaction (e.g., displayed on cursor) - public string GetInteractionPrompt() - { - return "Press Left Click to interact with the figure"; - } - // Determines if interaction is currently possible - public bool CanInteract(float distance) - { - return !hasInteracted; // Interaction is allowed only once + return res; } - // modified by 신채환 - // CanInteract 메서드가 거리를 인자로 받도록 변경 - // Handles interaction with the object - public void OnInteract() + // 이상현상을 초기화하는 메서드 + public override bool ResetAnomaly() { - if (hasInteracted) return; // Ensure interaction only happens once + bool res = base.ResetAnomaly(); - hasInteracted = true; - StartCoroutine(FadeOutAndClearStage(gameObject, 2f)); // Fades out over 2 seconds and then clears stage + StartCoroutine(FadeOut(gameObject, 2f)); // Fades out over 2 seconds and then clears stage + + return res; } // Coroutine to gradually fade out, destroy the object, and set the stage clear - private IEnumerator FadeOutAndClearStage(GameObject obj, float duration) + private IEnumerator FadeOut(GameObject obj, float duration) { // Play the sound once when the object starts fading out if (audioSource != null) @@ -74,7 +90,5 @@ private IEnumerator FadeOutAndClearStage(GameObject obj, float duration) Destroy(obj); // Remove the object completely after fading out - // Mark the stage as clear after the object is fully faded out - GameManager.Instance.SetStageClear(); } -} +} \ No newline at end of file diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly11Controller.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly11Controller.cs new file mode 100644 index 0000000..efbc330 --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly11Controller.cs @@ -0,0 +1,25 @@ +using UnityEngine; + +public class Anomaly11Controller : AbstractAnomalyComposite +{ + // 클래스 이름 + public override string Name { get; } = "Anomaly11Controller"; + + // `Awake` 메시지 용 메서드 + protected override bool Awake_() + { + bool res = base.Awake_(); + + // Code used before `GameManager` updates begin + Log("Call `StartAnomaly` begin"); + if (StartAnomaly()) { + Log("Call `StartAnomaly` success"); + } else { + Log("Call `StartAnomaly` failed", mode: 1); + res = false; + } + // Code used before `GameManager` updates end + + return res; + } +} \ No newline at end of file diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly11Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly11Controller.cs.meta similarity index 100% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly11Manager.cs.meta rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly11Controller.cs.meta diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly11Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly11Manager.cs deleted file mode 100644 index 72aeb5c..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly11Manager.cs +++ /dev/null @@ -1,32 +0,0 @@ -using UnityEngine; - -public class Anomaly11Manager : MonoBehaviour -{ - public string targetDoorName = "door"; // 기존 문 오브젝트의 이름 - public GameObject doorOpenedPrefab; // 문이 열린 상태의 프리팹 - - private void Start() - { - GameObject targetDoor = GameObject.Find(targetDoorName); - if (targetDoor != null) - { - Destroy(targetDoor); - Debug.Log($"Anomaly 11: Found and removed target door {targetDoorName}"); - } - else - { - Debug.LogWarning($"Anomaly 11: Target door {targetDoorName} not found in the scene."); - } - - // 새로운 문 프리팹 소환 - if (doorOpenedPrefab != null) - { - Instantiate(doorOpenedPrefab); - Debug.Log("Anomaly 11: Spawned opened door prefab."); - } - else - { - Debug.LogError("Anomaly 11: doorOpenedPrefab is not assigned."); - } - } -} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly11_normaldoor.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly11_normaldoor.cs new file mode 100644 index 0000000..3219ce1 --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly11_normaldoor.cs @@ -0,0 +1,32 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Anomaly11_normaldoor : AbstractAnomalyObject +{ + /********** + * fields * + **********/ + + /************** + * properties * + **************/ + + // 클래스 이름 + public override string Name { get; } = "Anomaly11_normaldoor"; + + /***************************************** + * implementation: AbstractAnomalyObject * + *****************************************/ + + // 이상현상을 시작하는 메서드 + public override bool StartAnomaly() + { + bool res = base.StartAnomaly(); + + gameObject.SetActive(false); + Log("Deleted normal door."); + + return res; + } +} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly11_normaldoor.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly11_normaldoor.cs.meta new file mode 100644 index 0000000..3d2b240 --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly11_normaldoor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 48c9e4b5058bb344389c1cfed59a4c2e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly11_openeddoor.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly11_openeddoor.cs index 5070ddf..2904106 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly11_openeddoor.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly11_openeddoor.cs @@ -2,23 +2,65 @@ using UnityEngine.UI; using System.Collections; -public class Anomaly11_openeddoor : InteractableObject, IInteractable +public class Anomaly11_openeddoor : AbstractAnomalyInteractable { + [SerializeField] private Image fadeImage; - [SerializeField] private float fadeSpeed = 0.5f; - public float closeSpeed = 1.0f; // Door movement speed + [SerializeField] private float fadeSpeed; + public float closeSpeed; // Door movement speed private Transform movingPart; // Reference to Cube.002 child object private AudioSource audioSource; // Reference to AudioSource component - private bool hasInteracted = false; - private void Start() + // 클래스 이름 + public override string Name { get; } = "Anomaly11_openeddoor"; // TODO: 클래스 이름 추가하기. + + // 상호작용 시 실행될 메서드 + public override void OnInteract() + { + base.OnInteract(); + + Log("Call `GameManager.SetStageClear` begin"); + GameManager.Instance.SetStageClear(); + Log("Call `GameManager.SetStageClear` end"); + + // Code used before `GameManager` updates begin + GameObject controllerObject = GameObject.Find("AnomalyManager (11)(Clone)"); + AbstractAnomalyObject controller = controllerObject.GetComponent(); + + Log($"Call `{controller.Name}.ResetAnomaly` begin"); + if (controller.ResetAnomaly()) { + Log($"Call `{controller.Name}.ResetAnomaly` success"); + } else { + Log($"Call `{controller.Name}.ResetAnomaly` failed", mode: 1); + } + } + + // `Awake` 메시지 용 메서드 + protected override bool Awake_() + { + bool res = base.Awake_(); + + // TODO: `Awake` 메시지에서 해야할 것 넣기. 없으면 메서드를 아예 지워도 됨. + // 함수가 제대로 작동했으면 `true`를, 아니면 `false`를 반환. + + return res; + } + + // 필드를 초기화하는 메서드 + protected override bool InitFields() { + bool res = base.InitFields(); + + fadeSpeed = 0.5f; + closeSpeed = 1.0f; + // Locate Cube.002 within the door_opened prefab movingPart = transform.Find("Cube.002"); if (movingPart == null) { Debug.LogError("Anomaly11_openeddoor: 'Cube.002' not found as a child object."); + res = false; } // Locate AudioSource component on the GameObject @@ -26,35 +68,33 @@ private void Start() if (audioSource == null) { Debug.LogWarning("Anomaly11_openeddoor: AudioSource component is missing."); + res = false; } - } - // Returns the prompt text for interaction - public string GetInteractionPrompt() - { - return "Press Left Click to interact with the opened door"; + return res; } - // Determines if interaction is currently possible - public bool CanInteract(float distance) + // 이상현상을 시작하는 메서드 + public override bool StartAnomaly() { - return movingPart != null && !hasInteracted; + bool res = base.StartAnomaly(); + + // TODO: 이상현상 시작하는 코드 넣기. 없으면 메서드를 아예 지워도 됨. + // 함수가 제대로 작동했으면 `true`를, 아니면 `false`를 반환. + + return res; } - // modified by 신채환 - // CanInteract 메서드가 거리를 인자로 받도록 변경 - // Handles interaction with the opened door - public void OnInteract() + // 이상현상을 초기화하는 메서드 + public override bool ResetAnomaly() { - if (hasInteracted) return; // Ensure interaction only happens once - - hasInteracted = true; // Mark interaction as complete + bool res = base.ResetAnomaly(); // Start moving the door if (movingPart != null) { StartCoroutine(CloseDoor()); - } + } // Play AudioSource if available if (audioSource != null) @@ -62,11 +102,9 @@ public void OnInteract() audioSource.Play(); } - // Mark the stage as cleared - GameManager.Instance.SetStageClear(); + return res; } - // Coroutine to smoothly move the door in the z-axis private IEnumerator CloseDoor() { Vector3 startPosition = movingPart.localPosition; @@ -132,4 +170,4 @@ private IEnumerator StartFakeEnding(GameObject player) playerController.GameOver(); } } -} +} \ No newline at end of file diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly12Controller.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly12Controller.cs new file mode 100644 index 0000000..e69dd32 --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly12Controller.cs @@ -0,0 +1,25 @@ +using UnityEngine; + +public class Anomaly12Controller : AbstractAnomalyComposite +{ + // 클래스 이름 + public override string Name { get; } = "Anomaly12Controller"; + + // `Awake` 메시지 용 메서드 + protected override bool Awake_() + { + bool res = base.Awake_(); + + // Code used before `GameManager` updates begin + Log("Call `StartAnomaly` begin"); + if (StartAnomaly()) { + Log("Call `StartAnomaly` success"); + } else { + Log("Call `StartAnomaly` failed", mode: 1); + res = false; + } + // Code used before `GameManager` updates end + + return res; + } +} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly12Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly12Controller.cs.meta similarity index 100% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly12Manager.cs.meta rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly12Controller.cs.meta diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly12Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly12Manager.cs deleted file mode 100644 index 47f7c2e..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly12Manager.cs +++ /dev/null @@ -1,39 +0,0 @@ -using UnityEngine; - -public class Anomaly12Manager : MonoBehaviour -{ - public string targetLightName = "light (4)"; // 특정 조명의 이름 - public GameObject tiltedLightPrefab; // 기울어진 조명 프리팹 - - private void Start() - { - // 특정 조명 오브젝트 찾기 - GameObject targetLight = GameObject.Find(targetLightName); - - if (targetLight != null) - { - // World 위치와 회전 값 저장 - Vector3 lightPosition = targetLight.transform.position; - Quaternion lightRotation = tiltedLightPrefab.transform.rotation; - - // 기존 조명 오브젝트 제거 - Destroy(targetLight); - Debug.Log($"Anomaly 12: Found and removed target light {targetLightName}"); - - // 기울어진 조명 프리팹을 world 위치에 소환 - if (tiltedLightPrefab != null) - { - Instantiate(tiltedLightPrefab, lightPosition, lightRotation); - Debug.Log("Anomaly 12: Spawned tilted light prefab at target's world position."); - } - else - { - Debug.LogError("Anomaly 12: tiltedLightPrefab is not assigned."); - } - } - else - { - Debug.LogWarning($"Anomaly 12: Target light {targetLightName} not found in the scene."); - } - } -} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly12_normallight.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly12_normallight.cs new file mode 100644 index 0000000..9f9746c --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly12_normallight.cs @@ -0,0 +1,32 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Anomaly12_normallight : AbstractAnomalyObject +{ + /********** + * fields * + **********/ + + /************** + * properties * + **************/ + + // 클래스 이름 + public override string Name { get; } = "Anomaly12_normallight"; + + /***************************************** + * implementation: AbstractAnomalyObject * + *****************************************/ + + // 이상현상을 시작하는 메서드 + public override bool StartAnomaly() + { + bool res = base.StartAnomaly(); + + gameObject.SetActive(false); + Log("Deleted normal light."); + + return res; + } +} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly12_normallight.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly12_normallight.cs.meta new file mode 100644 index 0000000..d6bca2f --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly12_normallight.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4105322dccdeddd4e9b964be20fc04d5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly12_tiltedlight.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly12_tiltedlight.cs index 50fdccf..6c50e75 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly12_tiltedlight.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly12_tiltedlight.cs @@ -1,40 +1,56 @@ using UnityEngine; using System.Collections; -public class Anomaly12_tiltedlight : InteractableObject, IInteractable +public class Anomaly12_tiltedlight : AbstractAnomalyInteractable { - public float rotationSpeed = 1.0f; // 조명이 회전하는 속도 - private bool hasInteracted = false; - // Returns the prompt text for interaction - public string GetInteractionPrompt() + public float rotationSpeed; // 조명이 회전하는 속도 + + // 클래스 이름 + public override string Name { get; } = "Anomaly12_tiltedlight"; + + // 상호작용 시 실행될 메서드 + public override void OnInteract() { - return "Press Left Click to interact with the tilted light"; + base.OnInteract(); + + Log("Call `GameManager.SetStageClear` begin"); + GameManager.Instance.SetStageClear(); + Log("Call `GameManager.SetStageClear` end"); + + // Code used before `GameManager` updates begin + GameObject controllerObject = GameObject.Find("AnomalyManager (12)(Clone)"); + AbstractAnomalyObject controller = controllerObject.GetComponent(); + + Log($"Call `{controller.Name}.ResetAnomaly` begin"); + if (controller.ResetAnomaly()) { + Log($"Call `{controller.Name}.ResetAnomaly` success"); + } else { + Log($"Call `{controller.Name}.ResetAnomaly` failed", mode: 1); + } } - // Determines if interaction is currently possible - public bool CanInteract(float distance) + // 필드를 초기화하는 메서드 + protected override bool InitFields() { - return !hasInteracted; // 한 번만 상호작용 가능 + bool res = base.InitFields(); + + rotationSpeed = 1.0f; + + return res; } - // modified by 신채환 - // CanInteract 메서드가 거리를 인자로 받도록 변경 - // Handles interaction with the tilted light - public void OnInteract() + // 이상현상을 초기화하는 메서드 + public override bool ResetAnomaly() { - if (hasInteracted) return; // 상호작용은 한 번만 일어남 - - hasInteracted = true; // 상호작용 상태로 설정 + bool res = base.ResetAnomaly(); // 조명이 원상태로 돌아오도록 회전 시작 StartCoroutine(RotateLight()); - // 스테이지 클리어 상태로 설정 - GameManager.Instance.SetStageClear(); + return res; } - // Coroutine to smoothly rotate the light to (0, 0, 0) on the y-axis private IEnumerator RotateLight() { Quaternion startRotation = transform.rotation; diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly13Controller.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly13Controller.cs new file mode 100644 index 0000000..4ee42b1 --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly13Controller.cs @@ -0,0 +1,25 @@ +using UnityEngine; + +public class Anomaly13Controller : AbstractAnomalyComposite +{ + // 클래스 이름 + public override string Name { get; } = "Anomaly13Controller"; + + // `Awake` 메시지 용 메서드 + protected override bool Awake_() + { + bool res = base.Awake_(); + + // Code used before `GameManager` updates begin + Log("Call `StartAnomaly` begin"); + if (StartAnomaly()) { + Log("Call `StartAnomaly` success"); + } else { + Log("Call `StartAnomaly` failed", mode: 1); + res = false; + } + // Code used before `GameManager` updates end + + return res; + } +} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly13Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly13Controller.cs.meta similarity index 100% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly13Manager.cs.meta rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly13Controller.cs.meta diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly13Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly13Manager.cs deleted file mode 100644 index 861f6db..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly13Manager.cs +++ /dev/null @@ -1,35 +0,0 @@ -using UnityEngine; - -public class Anomaly13Manager : MonoBehaviour -{ - public string targetObjectName = "sitGirl"; // 삭제할 게임 오브젝트 이름 - public GameObject lookingGirlPrefab, eyesPrefab; // 소환할 프리팹 - - private void Start() - { - // 특정 이름의 게임 오브젝트 찾기 - GameObject targetObject = GameObject.Find(targetObjectName); - if (targetObject != null) - { - // 삭제 - Destroy(targetObject); - Debug.Log($"Anomaly 13: Found and removed target object {targetObjectName}"); - } - else - { - Debug.LogWarning($"Anomaly 13: Target object {targetObjectName} not found in the scene."); - } - - // 프리팹 소환 - if (lookingGirlPrefab != null) - { - Instantiate(lookingGirlPrefab); - Instantiate(eyesPrefab); - Debug.Log("Anomaly 13: Spawned looking girl prefab."); - } - else - { - Debug.LogError("Anomaly 13: lookingGirlPrefab is not assigned."); - } - } -} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly13_lookingeye.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly13_lookingeye.cs index 65c6e30..637d0ed 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly13_lookingeye.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly13_lookingeye.cs @@ -1,18 +1,46 @@ using UnityEngine; -public class Anomaly13_lookingeye : InteractableObject, IInteractable +public class Anomaly13_lookingeye : AbstractAnomalyInteractable { private Transform player; // 플레이어의 Transform (예: Main Camera) private Transform leftEye; // Left Eye Transform private Transform rightEye; // Right Eye Transform - private float rotationOffsetX = -90f; // LookAt 회전 보정 (X축) - private bool hasInteracted = false; // 상호작용 상태 확인 + private float rotationOffsetX; // LookAt 회전 보정 (X축) private Quaternion initialLeftEyeRotation; // Left Eye 초기 회전값 private Quaternion initialRightEyeRotation; // Right Eye 초기 회전값 - private void Start() + // 클래스 이름 + public override string Name { get; } = "Anomaly13_lookingeye"; + + // 상호작용 시 실행될 메서드 + public virtual void OnInteract() + { + base.OnInteract(); + + Log("Call `GameManager.SetStageClear` begin"); + GameManager.Instance.SetStageClear(); + Log("Call `GameManager.SetStageClear` end"); + + // Code used before `GameManager` updates begin + GameObject controllerObject = GameObject.Find("AnomalyManager (13)(Clone)"); + AbstractAnomalyObject controller = controllerObject.GetComponent(); + + Log($"Call `{controller.Name}.ResetAnomaly` begin"); + if (controller.ResetAnomaly()) { + Log($"Call `{controller.Name}.ResetAnomaly` success"); + } else { + Log($"Call `{controller.Name}.ResetAnomaly` failed", mode: 1); + } + } + + // 필드를 초기화하는 메서드 + protected override bool InitFields() { + bool res = base.InitFields(); + + rotationOffsetX = -90f; + // 플레이어 찾기 if (player == null) { @@ -24,6 +52,7 @@ private void Start() else { Debug.LogError("Anomaly13_lookingeye: Player not found! Ensure the player has the 'MainCamera' tag."); + res = false; } } @@ -34,17 +63,19 @@ private void Start() if (leftEye == null || rightEye == null) { Debug.LogError("Anomaly13_lookingeye: Left or Right Eye not found as children of 'eyes'."); - return; + res = false; } // 초기 회전값 저장 initialLeftEyeRotation = leftEye.localRotation; initialRightEyeRotation = rightEye.localRotation; + + return res; } private void Update() { - if (!hasInteracted && player != null) + if (CanInteract(1f) && player != null) { // 플레이어를 바라보도록 회전 RotateEyesTowardsPlayer(); @@ -81,33 +112,14 @@ private void ResetEyeRotations() Debug.Log("Anomaly13_lookingeye: Eyes reset to initial rotations."); } - // 인터페이스 구현: 상호작용 가능 여부 반환 - public bool CanInteract(float distance) + // 이상현상을 초기화하는 메서드 + public override bool ResetAnomaly() { - return !hasInteracted; - } - // modified by 신채환 - // CanInteract 메서드가 거리를 인자로 받도록 변경 - - // 인터페이스 구현: 상호작용 시 표시할 텍스트 - public string GetInteractionPrompt() - { - return "Press Left Click to interact with the eyes."; - } - - // 인터페이스 구현: 상호작용 동작 - public void OnInteract() - { - if (hasInteracted) return; + bool res = base.ResetAnomaly(); - hasInteracted = true; - - // 눈의 회전을 초기화 ResetEyeRotations(); - - // 스테이지 클리어 처리 - GameManager.Instance.SetStageClear(); - Debug.Log("Anomaly13_lookingeye: Interaction complete, stage cleared."); + + return res; } } diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly13_normaleye.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly13_normaleye.cs new file mode 100644 index 0000000..d7bb932 --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly13_normaleye.cs @@ -0,0 +1,32 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Anomaly13_normaleye : AbstractAnomalyObject +{ + /********** + * fields * + **********/ + + /************** + * properties * + **************/ + + // 클래스 이름 + public override string Name { get; } = "Anomaly13_normaleye"; + + /***************************************** + * implementation: AbstractAnomalyObject * + *****************************************/ + + // 이상현상을 시작하는 메서드 + public override bool StartAnomaly() + { + bool res = base.StartAnomaly(); + + gameObject.SetActive(false); + Log("Deleted normal eye."); + + return res; + } +} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly13_normaleye.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly13_normaleye.cs.meta new file mode 100644 index 0000000..7cfaa16 --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly13_normaleye.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9a55ff71c373727419603887e590ca1a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly15Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly15Controller.cs similarity index 86% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly15Manager.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly15Controller.cs index 4adc442..033d54e 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly15Manager.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly15Controller.cs @@ -1,8 +1,11 @@ using UnityEngine; using System.Collections; -public class Anomaly15Manager : MonoBehaviour + +public class Anomaly15Controller : AbstractAnomalyObject { + public override string Name { get; } = "Anomaly15Controller"; + [Header("Spider Settings")] public GameObject spiderPrefab; private float spawnRadius = 0.5f; @@ -10,25 +13,43 @@ public class Anomaly15Manager : MonoBehaviour private float moveSpeed = 1f; private float fadeDistance = 2f; private Vector3 basePosition = new Vector3(6.9f, 7.7f, -7.1f); - public bool isSpawningSpiders = true; private GameObject interactionCube; [Header("Audio Settings")] public AudioClip spiderSoundClip; - private void Start() + public override bool StartAnomaly() { + bool res = base.StartAnomaly(); + // 상호작용할 수 있는 투명한 큐브 interactionCube = CreateInteractionCube(); StartCoroutine(SetTransparency(interactionCube)); // 거미 생성 + isSpawningSpiders = true; StartCoroutine(SpawnSpiderRoutine()); + + return res; } - private void OnEnable() + // 이상현상을 초기화하는 메서드 + public override bool ResetAnomaly() { - isSpawningSpiders = true; + bool res = base.ResetAnomaly(); + + StopSpawning(); + + return res; + } + private void Start() + { + // 상호작용할 수 있는 투명한 큐브 + interactionCube = CreateInteractionCube(); + StartCoroutine(SetTransparency(interactionCube)); + + // 거미 생성 + StartCoroutine(SpawnSpiderRoutine()); } public void StopSpawning() diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly15Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly15Controller.cs.meta similarity index 100% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly15Manager.cs.meta rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly15Controller.cs.meta diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly15_spider.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly15_spider.cs index cb7172e..7bac0a9 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly15_spider.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly15_spider.cs @@ -1,20 +1,22 @@ using UnityEngine; using System.Collections; -public class Anomaly15_spider : InteractableObject, IInteractable +public class Anomaly15_spider : AbstractAnomalyInteractable { - [Header("Interaction Settings")] + public override string Name { get; } = "Anomaly15_spider"; - private bool hasInteracted = false; - private Anomaly15Manager anomalyManager; + [Header("Interaction Settings")] + private Anomaly15Controller anomalyManager; [Header("Audio Settings")] public AudioClip spiderSoundClip; private Transform cameraTransform; private AudioSource audioSource; - private void Start() + public override bool StartAnomaly() { - anomalyManager = FindObjectOfType(); + bool res = base.StartAnomaly(); + + anomalyManager = FindObjectOfType(); GameObject mainCamera = GameObject.FindWithTag("MainCamera"); audioSource = gameObject.AddComponent(); @@ -22,44 +24,27 @@ private void Start() audioSource.loop = true; audioSource.spatialBlend = 2f; // 3D 음향으로 설정 audioSource.Play(); - } - - private void Update() - { - if (hasInteracted && audioSource.isPlaying) - { - audioSource.Stop(); - } - } - public string GetInteractionPrompt() - { - return "Press Left Click to interact with the figure"; - } - - public bool CanInteract(float distance) - { - return !hasInteracted; - } - // modified by 신채환 - // CanInteract 메서드가 거리를 인자로 받도록 변경 + return res; + } - public void OnInteract() + // 이상현상을 초기화하는 메서드 + public override bool ResetAnomaly() { - if (hasInteracted) return; - - hasInteracted = true; + bool res = base.ResetAnomaly(); - // Call StopSpawning on Anomaly15Manager and start the delayed destroy + audioSource.Stop(); if (anomalyManager != null) { anomalyManager.StopSpawning(); } - // Start coroutine to wait 2 seconds before destroying StartCoroutine(DelayedDestroy()); + + return res; } + private IEnumerator DelayedDestroy() { yield return new WaitForSeconds(2f); // Wait for 2 seconds diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly16Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly16Controller.cs similarity index 93% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly16Manager.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly16Controller.cs index b02f085..0f3ce0c 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly16Manager.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly16Controller.cs @@ -1,7 +1,9 @@ using UnityEngine; -public class Anomaly16Manager : MonoBehaviour +public class Anomaly16Controller : AbstractAnomalyObject { + public override string Name { get; } = "Anomaly16Controller"; + [Header("Marker Line Settings")] public Material redLineMaterial; // Assign a red material in the Inspector public AudioClip markerSound; // Assign the marker sound in the Inspector diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly16Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly16Controller.cs.meta similarity index 100% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly16Manager.cs.meta rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly16Controller.cs.meta diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly16_marker.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly16_marker.cs index d4fc479..91782a9 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly16_marker.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly16_marker.cs @@ -5,7 +5,7 @@ public class Anomaly16_marker : InteractableObject, IInteractable { private bool hasInteracted = false; - private Anomaly16Manager anomalyManager; // Reference to Anomaly16Manager + private Anomaly16Controller anomalyManager; // Reference to Anomaly16Controller private Transform cameraTransform; @@ -37,7 +37,7 @@ private void Start() cameraTransform = mainCamera.transform; } - anomalyManager = FindObjectOfType(); + anomalyManager = FindObjectOfType(); // Set up LineRenderer and AudioSource components lineRenderer = GetComponent(); diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly17Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly17Controller.cs similarity index 94% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly17Manager.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly17Controller.cs index 0199cf1..b08a0d6 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly17Manager.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly17Controller.cs @@ -2,8 +2,10 @@ using System.Collections.Generic; using UnityEngine; -public class Anomaly17Manager : MonoBehaviour +public class Anomaly17Controller : AbstractAnomalyObject { + public override string Name { get; } = "Anomaly17Controller"; + public GameObject splitMicLinePrefab; // line_split prefab public GameObject normalMicLinePrefab; // line_normal prefab private GameObject currentMicLine; // line_split OR line_normal 중 현재 마이크 선 obejct diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly17Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly17Controller.cs.meta similarity index 100% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly17Manager.cs.meta rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly17Controller.cs.meta diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly17_mic.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly17_mic.cs index 0c050cc..cd9dedd 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly17_mic.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly17_mic.cs @@ -4,7 +4,7 @@ public class Anomaly17_mic : InteractableObject, IInteractable { private bool hasInteracted = false; - private Anomaly17Manager anomalyManager; + private Anomaly17Controller anomalyManager; // 스파크 세팅 public int sparkSegments = 30; @@ -26,7 +26,7 @@ public class Anomaly17_mic : InteractableObject, IInteractable private void Start() { - anomalyManager = FindObjectOfType(); + anomalyManager = FindObjectOfType(); GameObject mainCamera = GameObject.FindWithTag("MainCamera"); if (mainCamera != null) { diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Controller.cs similarity index 84% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Manager.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Controller.cs index 7d075a4..c73e270 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Manager.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Controller.cs @@ -1,11 +1,11 @@ -public class Anomaly20Manager : AbstractAnomalyComposite +public class Anomaly18Controller : AbstractAnomalyComposite { /************** * properties * **************/ // 클래스 이름 - public override string Name { get; } = "Anomaly20Manager"; + public override string Name { get; } = "Anomaly18Controller"; /************************************* * implementation: AbstractBehaviour * diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Controller.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Controller.cs.meta new file mode 100644 index 0000000..ae485eb --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Controller.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 482965570cfb46f47a3c1dc8bb085118 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18_Interactable.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Interactable.cs similarity index 93% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly18_Interactable.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Interactable.cs index 3171391..8d42c84 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18_Interactable.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Interactable.cs @@ -1,7 +1,7 @@ using System.Collections; using UnityEngine; -public class Anomaly18_Interactable : AbstractAnomalyInteractable +public class Anomaly18Interactable : AbstractAnomalyInteractable { /********** * fields * @@ -15,7 +15,7 @@ public class Anomaly18_Interactable : AbstractAnomalyInteractable **************/ // 클래스 이름 - public override string Name { get; } = "Anomaly18_Prefab"; + public override string Name { get; } = "Anomaly18Interactable"; /********************************* * implementation: IInteractable * @@ -31,7 +31,7 @@ public override void OnInteract() Log("Call `GameManager.SetStageClear` end"); // Code used before `GameManager` updates begin - GameObject controllerObject = GameObject.Find("Anomaly18Manager"); + GameObject controllerObject = GameObject.Find("AnomalyManager (18)(Clone)"); AbstractAnomalyObject controller = controllerObject.GetComponent(); Log($"Call `{controller.Name}.ResetAnomaly` begin"); diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Interactable.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Interactable.cs.meta new file mode 100644 index 0000000..8437ba6 --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Interactable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 33a51968eb2cf9549ba0e069a5074acc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18_Object.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Object.cs similarity index 94% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly18_Object.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Object.cs index 1a07f1c..6139320 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18_Object.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Object.cs @@ -1,7 +1,7 @@ using System.Collections; using UnityEngine; -public class Anomaly18_Object : AbstractAnomalyObject +public class Anomaly18Object : AbstractAnomalyObject { /********** * fields * @@ -21,7 +21,7 @@ public class Anomaly18_Object : AbstractAnomalyObject **************/ // 클래스 이름 - public override string Name { get; } = "Anomaly18_Object"; + public override string Name { get; } = "Anomaly18Object"; /***************************************** * implementation: AbstractAnomalyObject * diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Object.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Object.cs.meta new file mode 100644 index 0000000..d82a2ba --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Object.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 232685a0145d4804faf24ab6eff5f59d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18_Prefab.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Prefab.cs similarity index 95% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly18_Prefab.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Prefab.cs index b4f428b..6a19848 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18_Prefab.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Prefab.cs @@ -1,7 +1,7 @@ using System.Collections; using UnityEngine; -public class Anomaly18_Prefab : AbstractAnomalyObject +public class Anomaly18Prefab : AbstractAnomalyObject { /********** * fields * @@ -15,7 +15,7 @@ public class Anomaly18_Prefab : AbstractAnomalyObject **************/ // 클래스 이름 - public override string Name { get; } = "Anomaly18_Prefab"; + public override string Name { get; } = "Anomaly18Prefab"; /***************************************** * implementation: AbstractAnomalyObject * diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Prefab.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Prefab.cs.meta new file mode 100644 index 0000000..73d09ad --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly18Prefab.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e2e44fc5e1725d647908a6343ed98090 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly19Controller.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly19Controller.cs new file mode 100644 index 0000000..84f8ea7 --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly19Controller.cs @@ -0,0 +1,31 @@ +public class Anomaly19Controller : AbstractAnomalyComposite +{ + /************** + * properties * + **************/ + + // 클래스 이름 + public override string Name { get; } = "Anomaly19Controller"; + + /************************************* + * implementation: AbstractBehaviour * + *************************************/ + + // `Awake` 메시지 용 메서드 + protected override bool Awake_() + { + bool res = base.Awake_(); + + // Code used before `GameManager` updates begin + Log("Call `StartAnomaly` begin"); + if (StartAnomaly()) { + Log("Call `StartAnomaly` success"); + } else { + Log("Call `StartAnomaly` failed", mode: 1); + res = false; + } + // Code used before `GameManager` updates end + + return res; + } +} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly19Controller.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly19Controller.cs.meta new file mode 100644 index 0000000..e2bc3fa --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly19Controller.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 41154e9f1fa8532418565040575f88fd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly19Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly19Manager.cs.meta deleted file mode 100644 index 376d0a2..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly19Manager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ac9ccff8bcade466eaa77e3dfd322477 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly19_Slide.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly19Slide.cs similarity index 94% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly19_Slide.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly19Slide.cs index b235615..bdd24b7 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly19_Slide.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly19Slide.cs @@ -1,7 +1,7 @@ using UnityEngine; [RequireComponent(typeof(SlideController))] -public class Anomaly19_Slide : AbstractAnomalyInteractable +public class Anomaly19Slide : AbstractAnomalyInteractable { /********** * fields * @@ -25,7 +25,7 @@ public class Anomaly19_Slide : AbstractAnomalyInteractable **************/ // 클래스 이름 - public override string Name { get; } = "Anomaly19_Slide"; + public override string Name { get; } = "Anomaly19Slide"; /************ * messages * @@ -54,7 +54,7 @@ public override void OnInteract() Log("Call `GameManager.SetStageClear` end"); // Code used before `GameManager` updates begin - GameObject controllerObject = GameObject.Find("Anomaly19Manager"); + GameObject controllerObject = GameObject.Find("AnomalyManager (19)(Clone)"); AbstractAnomalyObject controller = controllerObject.GetComponent(); Log($"Call `{controller.Name}.ResetAnomaly` begin"); diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly19Slide.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly19Slide.cs.meta new file mode 100644 index 0000000..45d917b --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly19Slide.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b30fa05c16c171a4d8019ae094bfa965 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly19_Slide.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly19_Slide.cs.meta deleted file mode 100644 index 5992fc8..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly19_Slide.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 2960778f4e9343349a587d3d39be1a05 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly1Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly1Manager.cs.meta deleted file mode 100644 index 5b9a1f5..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly1Manager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: b3698bbfa0cfc4b73bc9dd4d3b8c5468 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly1_Chair.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly1_Chair.cs.meta deleted file mode 100644 index bd94a9c..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly1_Chair.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 5dc5b8d84ca9e044194aa4abaf491948 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly1_Girl.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly1_Girl.cs.meta deleted file mode 100644 index 7c2176a..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly1_Girl.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 13b29b2cac673a5419b45e5853d126ec -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Controller.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Controller.cs new file mode 100644 index 0000000..9d5cf27 --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Controller.cs @@ -0,0 +1,31 @@ +public class Anomaly20Controller : AbstractAnomalyComposite +{ + /************** + * properties * + **************/ + + // 클래스 이름 + public override string Name { get; } = "Anomaly20Controller"; + + /************************************* + * implementation: AbstractBehaviour * + *************************************/ + + // `Awake` 메시지 용 메서드 + protected override bool Awake_() + { + bool res = base.Awake_(); + + // Code used before `GameManager` updates begin + Log("Call `StartAnomaly` begin"); + if (StartAnomaly()) { + Log("Call `StartAnomaly` success"); + } else { + Log("Call `StartAnomaly` failed", mode: 1); + res = false; + } + // Code used before `GameManager` updates end + + return res; + } +} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Controller.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Controller.cs.meta new file mode 100644 index 0000000..929e063 --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Controller.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1567b9a2a4beb8a4db8cde361f0ebaa9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_Interactable.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Interactable.cs similarity index 91% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_Interactable.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Interactable.cs index 3a3748e..0d3cd49 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_Interactable.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Interactable.cs @@ -1,6 +1,6 @@ using UnityEngine; -public class Anomaly20_Interactable : AbstractAnomalyInteractable +public class Anomaly20Interactable : AbstractAnomalyInteractable { /********** * fields * @@ -19,7 +19,7 @@ public class Anomaly20_Interactable : AbstractAnomalyInteractable **************/ // 클래스 이름 - public override string Name { get; } = "Anomaly20_Interactable"; + public override string Name { get; } = "Anomaly20Interactable"; /********************************* * implementation: IInteractable * @@ -35,7 +35,7 @@ public override void OnInteract() Log("Call `GameManager.SetStageClear` end"); // Code used before `GameManager` updates begin - GameObject controllerObject = GameObject.Find("Anomaly20Manager"); + GameObject controllerObject = GameObject.Find("AnomalyManager (20)(Clone)"); AbstractAnomalyObject controller = controllerObject.GetComponent(); Log($"Call `{controller.Name}.ResetAnomaly` begin"); diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Interactable.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Interactable.cs.meta new file mode 100644 index 0000000..9757600 --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Interactable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 24ef769772998f641bbf19dce04ea354 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_InteractableBack.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20InteractableBack.cs similarity index 88% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_InteractableBack.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly20InteractableBack.cs index a6c9dc5..ca7b0aa 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_InteractableBack.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20InteractableBack.cs @@ -1,6 +1,6 @@ using UnityEngine; -public class Anomaly20_InteractableBack : Anomaly20_Interactable +public class Anomaly20InteractableBack : Anomaly20Interactable { /********** * fields * @@ -18,7 +18,7 @@ public class Anomaly20_InteractableBack : Anomaly20_Interactable **************/ // 클래스 이름 - public override string Name { get; } = "Anomaly20_InteractableBack"; + public override string Name { get; } = "Anomaly20InteractableBack"; /************ * messages * diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20InteractableBack.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20InteractableBack.cs.meta new file mode 100644 index 0000000..ed3219f --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20InteractableBack.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8fb76969add5cf04c807554bc63c2b16 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_InteractableFront.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20InteractableFront.cs similarity index 88% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_InteractableFront.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly20InteractableFront.cs index 2c58352..022cb44 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_InteractableFront.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20InteractableFront.cs @@ -1,6 +1,6 @@ using UnityEngine; -public class Anomaly20_InteractableFront : Anomaly20_Interactable +public class Anomaly20InteractableFront : Anomaly20Interactable { /********** * fields * @@ -18,7 +18,7 @@ public class Anomaly20_InteractableFront : Anomaly20_Interactable **************/ // 클래스 이름 - public override string Name { get; } = "Anomaly20_InteractableFront"; + public override string Name { get; } = "Anomaly20InteractableFront"; /************ * messages * diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20InteractableFront.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20InteractableFront.cs.meta new file mode 100644 index 0000000..2f3a7ce --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20InteractableFront.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8c92679bac1ed184e89802565dea5023 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_InteractableRight.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20InteractableRight.cs similarity index 89% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_InteractableRight.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly20InteractableRight.cs index 90f6676..cdb3e74 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_InteractableRight.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20InteractableRight.cs @@ -1,6 +1,6 @@ using UnityEngine; -public class Anomaly20_InteractableRight : Anomaly20_Interactable +public class Anomaly20InteractableRight : Anomaly20Interactable { /********** * fields * @@ -20,7 +20,7 @@ public class Anomaly20_InteractableRight : Anomaly20_Interactable **************/ // 클래스 이름 - public override string Name { get; } = "Anomaly20_InteractableRight"; + public override string Name { get; } = "Anomaly20InteractableRight"; /************ * messages * diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20InteractableRight.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20InteractableRight.cs.meta new file mode 100644 index 0000000..bc9a09f --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20InteractableRight.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e59a0281bd9bdfb43ac0588c3fb8e938 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Manager.cs.meta deleted file mode 100644 index 64d035d..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Manager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 085c515f4a72f447ca184b2322523ea7 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_Player.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Player.cs similarity index 96% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_Player.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Player.cs index ddd6d7d..c52ffa0 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_Player.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Player.cs @@ -1,7 +1,7 @@ using System.Collections; using UnityEngine; -public class Anomaly20_Player : AbstractAnomalyObject +public class Anomaly20Player : AbstractAnomalyObject { /********** * fields * @@ -21,7 +21,7 @@ public class Anomaly20_Player : AbstractAnomalyObject **************/ // 클래스 이름 - public override string Name { get; } = "Anomaly20_Player"; + public override string Name { get; } = "Anomaly20Player"; /************ * messages * diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Player.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Player.cs.meta new file mode 100644 index 0000000..193084d --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20Player.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 152526297e2dff144836b43225cb3abe +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_Interactable.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_Interactable.cs.meta deleted file mode 100644 index 52ad9cb..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_Interactable.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 323d4c0619c31db48aafec5b6be6dabc -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_InteractableBack.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_InteractableBack.cs.meta deleted file mode 100644 index 853542e..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_InteractableBack.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: e3abf5127f1fd514eafeb2411741d79a -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_InteractableFront.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_InteractableFront.cs.meta deleted file mode 100644 index aaf63cb..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_InteractableFront.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: fa6dee73251e9a04e8d20560af1f1997 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_InteractableRight.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_InteractableRight.cs.meta deleted file mode 100644 index 4b0a8c1..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_InteractableRight.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 5c14879ba6f660e4196accbcc95dfe7a -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_Player.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_Player.cs.meta deleted file mode 100644 index cb67035..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly20_Player.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0599189f40e873443b3c17a2bf43fc1b -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly21Controller.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly21Controller.cs new file mode 100644 index 0000000..679430a --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly21Controller.cs @@ -0,0 +1,25 @@ +using UnityEngine; + +public class Anomaly21Controller : AbstractAnomalyComposite +{ + // 클래스 이름 + public override string Name { get; } = "Anomaly21Controller"; + + // `Awake` 메시지 용 메서드 + protected override bool Awake_() + { + bool res = base.Awake_(); + + // Code used before `GameManager` updates begin + Log("Call `StartAnomaly` begin"); + if (StartAnomaly()) { + Log("Call `StartAnomaly` success"); + } else { + Log("Call `StartAnomaly` failed", mode: 1); + res = false; + } + // Code used before `GameManager` updates end + + return res; + } +} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly21Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly21Controller.cs.meta similarity index 100% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly21Manager.cs.meta rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly21Controller.cs.meta diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly21Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly21Manager.cs deleted file mode 100644 index 5312bfc..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly21Manager.cs +++ /dev/null @@ -1,34 +0,0 @@ -using UnityEngine; - -public class Anomaly21Manager : MonoBehaviour -{ - public string targetObjectName = "professor_normal"; // 삭제할 게임 오브젝트 이름 - public GameObject professorPrefab; // 소환할 프리팹 - - private void Start() - { - // 특정 이름의 게임 오브젝트 찾기 - GameObject targetObject = GameObject.Find(targetObjectName); - if (targetObject != null) - { - // 삭제 - Destroy(targetObject); - Debug.Log($"Anomaly 21: Found and removed target object {targetObjectName}"); - } - else - { - Debug.LogWarning($"Anomaly 21: Target object {targetObjectName} not found in the scene."); - } - - // 프리팹 소환 - if (professorPrefab != null) - { - Instantiate(professorPrefab); - Debug.Log("Anomaly 21: Spawned chasing professor prefab."); - } - else - { - Debug.LogError("Anomaly 21: professorPrefab is not assigned."); - } - } -} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly21_chase.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly21_chase.cs index a1cd9b0..2ea1ff1 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly21_chase.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly21_chase.cs @@ -7,12 +7,13 @@ [RequireComponent(typeof(NavMeshAgent))] [RequireComponent(typeof(CapsuleCollider))] [RequireComponent(typeof(AudioSource))] -public class Anomaly21_chase : MonoBehaviour + +public class Anomaly21_chase : AbstractAnomalyInteractable { - public float chaseSpeed = 4f; - public float returnSpeed = 2f; - public float chaseDistance = 10f; - public float fadeOutDuration = 4f; + public float chaseSpeed; + public float returnSpeed; + public float chaseDistance; + public float fadeOutDuration; public Transform startPoint; private bool isChasing = false; private bool canChase = true; @@ -28,8 +29,20 @@ public class Anomaly21_chase : MonoBehaviour private GameObject unityIcon; private float elapsedTime = 0f; - void Start() + // 클래스 이름 + public override string Name { get; } = "Anomaly13_lookingeye"; + + + // 필드를 초기화하는 메서드 + protected override bool InitFields() { + bool res = base.InitFields(); + + chaseSpeed = 4f; + returnSpeed = 2f; + chaseDistance = 10f; + fadeOutDuration = 4f; + player = GameObject.FindWithTag("Player").transform; navAgent = GetComponent(); animator = GetComponent(); @@ -46,9 +59,11 @@ void Start() audioSource.loop = true; audioSource.playOnAwake = false; + + return res; } - void Update() + private void Update() { if (!canChase) return; @@ -76,7 +91,7 @@ void Update() if (elapsedTime >= 20f) { - StartCoroutine(ReturnToStart()); + ResetAnomaly(); } } } @@ -154,4 +169,15 @@ private void LockPositionAndRotation() rb.angularVelocity = Vector3.zero; rb.isKinematic = true; } + + // 이상현상을 초기화하는 메서드 + public override bool ResetAnomaly() + { + bool res = base.ResetAnomaly(); + + StartCoroutine(ReturnToStart()); + Debug.Log("Anomaly21_chase: Stage Cleared."); + + return res; + } } diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly21_normalprofessor.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly21_normalprofessor.cs new file mode 100644 index 0000000..5aad537 --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly21_normalprofessor.cs @@ -0,0 +1,32 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Anomaly21_normalprofessor : AbstractAnomalyObject +{ + /********** + * fields * + **********/ + + /************** + * properties * + **************/ + + // 클래스 이름 + public override string Name { get; } = "Anomaly21_normalprofessor"; + + /***************************************** + * implementation: AbstractAnomalyObject * + *****************************************/ + + // 이상현상을 시작하는 메서드 + public override bool StartAnomaly() + { + bool res = base.StartAnomaly(); + + gameObject.SetActive(false); + Log("Deleted normal eye."); + + return res; + } +} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly21_normalprofessor.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly21_normalprofessor.cs.meta new file mode 100644 index 0000000..c4d1ca9 --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly21_normalprofessor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6aa0d459c4e2b834fad9092d089c5c87 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly22Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly22Controller.cs similarity index 98% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly22Manager.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly22Controller.cs index caa22f7..724e998 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly22Manager.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly22Controller.cs @@ -2,8 +2,10 @@ using System.Collections.Generic; using System.Collections; -public class Anomaly22Manager : MonoBehaviour +public class Anomaly22Controller : AbstractAnomalyObject { + public override string Name { get; } = "Anomaly22Controller"; + private GameObject floor; // 모든 타일들의 Parent private GameManager gameManager; private PlayerController playerController; diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly22Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly22Controller.cs.meta similarity index 100% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly22Manager.cs.meta rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly22Controller.cs.meta diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Controller.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Controller.cs new file mode 100644 index 0000000..7ba7204 --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Controller.cs @@ -0,0 +1,31 @@ +public class Anomaly23Controller : AbstractAnomalyComposite +{ + /************** + * properties * + **************/ + + // 클래스 이름 + public override string Name { get; } = "Anomaly23Controller"; + + /************************************* + * implementation: AbstractBehaviour * + *************************************/ + + // `Awake` 메시지 용 메서드 + protected override bool Awake_() + { + bool res = base.Awake_(); + + // Code used before `GameManager` updates begin + Log("Call `StartAnomaly` begin"); + if (StartAnomaly()) { + Log("Call `StartAnomaly` success"); + } else { + Log("Call `StartAnomaly` failed", mode: 1); + res = false; + } + // Code used before `GameManager` updates end + + return res; + } +} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Controller.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Controller.cs.meta new file mode 100644 index 0000000..bbc5ad2 --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Controller.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f9a424064999dfb45ad9123fe62991cc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23_Ghost.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Ghost.cs similarity index 98% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly23_Ghost.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Ghost.cs index 0491e0b..e378dd7 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23_Ghost.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Ghost.cs @@ -3,7 +3,7 @@ [RequireComponent(typeof(Animator))] [RequireComponent(typeof(AudioSource))] -public class Anomaly23_Ghost : AbstractAnomalyObject +public class Anomaly23Ghost : AbstractAnomalyObject { /********** * fields * @@ -41,7 +41,7 @@ public class Anomaly23_Ghost : AbstractAnomalyObject * properties * **************/ - public override string Name { get; } = "Anomaly23_Ghost"; + public override string Name { get; } = "Anomaly23Ghost"; /************ * messages * @@ -91,7 +91,7 @@ void Update() Log("Call `GameManager.SetStageClear` end"); // Code used before `GameManager` updates begin - GameObject controllerObject = GameObject.Find("Anomaly23Manager"); + GameObject controllerObject = GameObject.Find("AnomalyManager (23)(Clone)"); AbstractAnomalyObject controller = controllerObject.GetComponent(); Log($"Call `{controller.Name}.ResetAnomaly` begin"); diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Ghost.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Ghost.cs.meta new file mode 100644 index 0000000..45e112f --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Ghost.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 04095a18f74aa3c4fb320c88a9fc2468 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23_Laptop.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Laptop.cs similarity index 95% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly23_Laptop.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Laptop.cs index d1c5322..62e4cd3 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23_Laptop.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Laptop.cs @@ -1,7 +1,7 @@ using UnityEngine; [RequireComponent(typeof(LaptopScreenController))] -public class Anomaly23_Laptop : AbstractAnomalyObject +public class Anomaly23Laptop : AbstractAnomalyObject { /********** * fields * @@ -21,7 +21,7 @@ public class Anomaly23_Laptop : AbstractAnomalyObject **************/ // 클래스 이름 - public override string Name { get; } = "Anomaly23_Laptop"; + public override string Name { get; } = "Anomaly23Laptop"; /************ * messages * diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Laptop.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Laptop.cs.meta new file mode 100644 index 0000000..f91c771 --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Laptop.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c74d52c1e0a4af444989d0c2f09996c0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Manager.cs deleted file mode 100644 index 7609e87..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Manager.cs +++ /dev/null @@ -1,31 +0,0 @@ -public class Anomaly23Manager : AbstractAnomalyComposite -{ - /************** - * properties * - **************/ - - // 클래스 이름 - public override string Name { get; } = "Anomaly23Manager"; - - /************************************* - * implementation: AbstractBehaviour * - *************************************/ - - // `Awake` 메시지 용 메서드 - protected override bool Awake_() - { - bool res = base.Awake_(); - - // Code used before `GameManager` updates begin - Log("Call `StartAnomaly` begin"); - if (StartAnomaly()) { - Log("Call `StartAnomaly` success"); - } else { - Log("Call `StartAnomaly` failed", mode: 1); - res = false; - } - // Code used before `GameManager` updates end - - return res; - } -} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Manager.cs.meta deleted file mode 100644 index a6959b2..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23Manager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 88057b82d9de4412ab8dbda29fc6b064 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23_Ghost.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23_Ghost.cs.meta deleted file mode 100644 index 6be04e0..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23_Ghost.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: e0bcd3ed008239247ac12770f9227c88 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23_Laptop.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23_Laptop.cs.meta deleted file mode 100644 index ff1536a..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly23_Laptop.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: d755543348868a045964c1da73713696 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly24Controller.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly24Controller.cs new file mode 100644 index 0000000..6bd931d --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly24Controller.cs @@ -0,0 +1,69 @@ +using UnityEngine; + +public class Anomaly24Controller : AbstractAnomalyComposite +{ + public GameObject prefab; + private Transform[] childTransforms; + GameObject sitGirls; + + // `Awake` 메시지 용 메서드 + protected override bool Awake_() + { + bool res = base.Awake_(); + + // Code used before `GameManager` updates begin + Log("Call `StartAnomaly` begin"); + if (StartAnomaly()) { + Log("Call `StartAnomaly` success"); + } else { + Log("Call `StartAnomaly` failed", mode: 1); + res = false; + } + // Code used before `GameManager` updates end + + return res; + } + + // 필드를 초기화하는 메서드 + protected override bool InitFields() + { + bool res = base.InitFields(); + + if (sitGirls != null) + { + childTransforms = new Transform[sitGirls.transform.childCount]; + for (int i = 0; i < sitGirls.transform.childCount; i++) + { + childTransforms[i] = sitGirls.transform.GetChild(i); + } + + foreach (Transform childTransform in childTransforms) + { + Vector3 newPosition = new Vector3( + childTransform.position.x, + childTransform.position.y + 2, // Y 좌표에 2 추가 + childTransform.position.z + ); + + Instantiate(prefab, newPosition, childTransform.rotation); + } + } + else + { + Debug.LogError("SitGirls object not found!"); + res = false; + } + + return res; + } + // 이상현상을 시작하는 메서드 + public override bool StartAnomaly() + { + bool res = base.StartAnomaly(); + + Destroy(sitGirls); + + return res; + } + +} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly24Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly24Controller.cs.meta similarity index 100% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly24Manager.cs.meta rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly24Controller.cs.meta diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly24Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly24Manager.cs deleted file mode 100644 index 1d0dc98..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly24Manager.cs +++ /dev/null @@ -1,37 +0,0 @@ -using UnityEngine; - -public class Anomaly24Manager : MonoBehaviour -{ - public GameObject prefab; - private Transform[] childTransforms; - - void Start() - { - GameObject sitGirls = GameObject.Find("SitGirls"); - if (sitGirls != null) - { - childTransforms = new Transform[sitGirls.transform.childCount]; - for (int i = 0; i < sitGirls.transform.childCount; i++) - { - childTransforms[i] = sitGirls.transform.GetChild(i); - } - - Destroy(sitGirls); - - foreach (Transform childTransform in childTransforms) - { - Vector3 newPosition = new Vector3( - childTransform.position.x, - childTransform.position.y + 2, // Y 좌표에 2 추가 - childTransform.position.z - ); - - Instantiate(prefab, newPosition, childTransform.rotation); - } - } - else - { - Debug.LogError("SitGirls object not found!"); - } - } -} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly24_luciddream.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly24_luciddream.cs index 152fcc2..e522da3 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly24_luciddream.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly24_luciddream.cs @@ -2,23 +2,41 @@ using System.Collections; [RequireComponent(typeof(AudioSource))] -public class Anomaly24_luciddream : MonoBehaviour +public class Anomaly24_luciddream : AbstractAnomalyInteractable { [SerializeField] private float duration = 30f; private AudioSource audioSource; private Transform mainCamera; - void Start() + // 클래스 이름 + public override string Name { get; } = "Anomaly24_luciddream"; + + + // 필드를 초기화하는 메서드 + protected override bool InitFields() { + bool res = base.InitFields(); + audioSource = GetComponent(); mainCamera = Camera.main?.transform; if (mainCamera == null) { Debug.LogError("Main Camera not found!"); + res = false; } + return res; + } + + // 이상현상을 시작하는 메서드 + public override bool StartAnomaly() + { + bool res = base.StartAnomaly(); + StartCoroutine(LucidDreamSequence()); + + return res; } private IEnumerator LucidDreamSequence() @@ -78,3 +96,4 @@ private IEnumerator FadeOutAudio() audioSource.volume = startVolume; } } + diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly27Controller.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly27Controller.cs new file mode 100644 index 0000000..013752d --- /dev/null +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly27Controller.cs @@ -0,0 +1,28 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Anomaly27Controller : AbstractAnomalyComposite +{ + + public override string Name { get; } = "Anomaly27Controller"; // 소환할 프리팹 + + // `Awake` 메시지 용 메서드 + protected override bool Awake_() + { + bool res = base.Awake_(); + + // Code used before `GameManager` updates begin + Log("Call `StartAnomaly` begin"); + if (StartAnomaly()) { + Log("Call `StartAnomaly` success"); + } else { + Log("Call `StartAnomaly` failed", mode: 1); + res = false; + } + // Code used before `GameManager` updates end + + + return res; + } +} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly27Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly27Controller.cs.meta similarity index 100% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly27Manager.cs.meta rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly27Controller.cs.meta diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly27Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly27Manager.cs deleted file mode 100644 index 9e23236..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly27Manager.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class Anomaly27Manager : MonoBehaviour -{ - public GameObject clockPrefab; // 소환할 프리팹 - - private void Start() - { - // 프리팹 소환 - if (clockPrefab != null) - { - Instantiate(clockPrefab); - Debug.Log("Anomaly 27: Spawned magnifying clock prefab."); - } - else - { - Debug.LogError("Anomaly 27: clockPrefab is not assigned."); - } - } -} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly27_magnifyingclock.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly27_magnifyingclock.cs index bc0ca91..da7d6e0 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly27_magnifyingclock.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly27_magnifyingclock.cs @@ -1,16 +1,26 @@ using UnityEngine; [RequireComponent(typeof(Collider))] -public class Anomaly27_magnifyingclock : MonoBehaviour +public class Anomaly27_magnifyingclock : AbstractAnomalyInteractable { - [SerializeField] private float scaleIncreaseRate = 0.1f; // 초당 증가할 스케일 크기 - [SerializeField] private float scaleStartDelay = 5f; // 스케일 증가 시작 딜레이 - private bool isScaling = false; // 스케일 증가 여부 + + public override string Name { get; } = "Anomaly27_magnifyingclock"; + + [SerializeField] private float scaleIncreaseRate; // 초당 증가할 스케일 크기 + [SerializeField] private float scaleStartDelay; // 스케일 증가 시작 딜레이 + private bool isScaling; // 스케일 증가 여부 private bool isStageClear = true; private Collider objectCollider; - void Start() + // 필드를 초기화하는 메서드 + protected override bool InitFields() { + bool res = base.InitFields(); + + scaleIncreaseRate = 0.1f; + scaleStartDelay = 5f; + isScaling = false; + GameManager.Instance.SetStageClear(); // 시작 시 스테이지 클리어 설정 isStageClear = true; objectCollider = GetComponent(); @@ -18,6 +28,8 @@ void Start() // 5초 후 스케일 증가 시작 Invoke(nameof(StartScaling), scaleStartDelay); + + return res; } void Update() diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly28Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly28Controller.cs similarity index 97% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly28Manager.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly28Controller.cs index 152eb42..d04407c 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly28Manager.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly28Controller.cs @@ -1,8 +1,10 @@ using System.Collections; using UnityEngine; -public class Anomaly28Manager : MonoBehaviour +public class Anomaly28Controller : AbstractAnomalyObject { + public override string Name { get; } = "Anomaly28Controller"; + private GameManager gameManager; private GameObject player; @@ -202,6 +204,6 @@ void OnDestroy() clock.transform.rotation = originalClockRotation; } - Debug.Log("Anomaly28Manager destroyed. Clock restored to its original phase."); + Debug.Log("Anomaly28Controller destroyed. Clock restored to its original phase."); } } diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly28Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly28Controller.cs.meta similarity index 100% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly28Manager.cs.meta rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly28Controller.cs.meta diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly29Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly29Controller.cs similarity index 97% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly29Manager.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly29Controller.cs index 8b5a84a..84bf2d7 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly29Manager.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly29Controller.cs @@ -2,8 +2,10 @@ using System.Collections.Generic; using UnityEngine; -public class Anomaly29Manager : MonoBehaviour +public class Anomaly29Controller : AbstractAnomalyObject { + public override string Name { get; } = "Anomaly29Controller"; + private GameManager gameManager; private PlayerController playerController; public GameObject bananaPrefab; diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly29Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly29Controller.cs.meta similarity index 100% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly29Manager.cs.meta rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly29Controller.cs.meta diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly29_banana.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly29_banana.cs index 2d47441..75d0ae0 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly29_banana.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly29_banana.cs @@ -3,11 +3,11 @@ public class Anomaly29_banana : MonoBehaviour { - private Anomaly29Manager anomalyManager; + private Anomaly29Controller anomalyManager; void Start() { - anomalyManager = FindObjectOfType(); + anomalyManager = FindObjectOfType(); } private void OnCollisionEnter(Collision collision) diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly2Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly2Manager.cs.meta deleted file mode 100644 index e7ea213..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly2Manager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 71a8eeeaaa8fe4e91b0707e40548c7dc -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly2_Laptop.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly2_Laptop.cs.meta deleted file mode 100644 index a3c7069..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly2_Laptop.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 18e2c46eaa68afe458ec364512f84534 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly30Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly30Controller.cs similarity index 97% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly30Manager.cs rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly30Controller.cs index 60e0f56..dc012b9 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly30Manager.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly30Controller.cs @@ -2,8 +2,9 @@ using System.Collections; using UnityEngine.Video; -public class Anomaly30Manager : MonoBehaviour -{ +public class Anomaly30Controller : AbstractAnomalyObject +{ + public override string Name { get; } = "Anomaly30Controller"; public GameObject[] windows; private GameObject player; private GameManager gameManager; diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly30Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly30Controller.cs.meta similarity index 100% rename from 302/Assets/Scripts/SpecificAnomalyManager/Anomaly30Manager.cs.meta rename to 302/Assets/Scripts/SpecificAnomalyManager/Anomaly30Controller.cs.meta diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly30_window.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly30_window.cs index 904e6f7..b3d722c 100644 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly30_window.cs +++ b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly30_window.cs @@ -17,13 +17,13 @@ public class Anomaly30_window : InteractableObject, IInteractable private bool isClosing = false; private bool hasInteracted = false; - private Anomaly30Manager anomalyManager; + private Anomaly30Controller anomalyManager; private AudioSource audioSource; private static GameObject coroutineRunner; void Start() { - anomalyManager = FindObjectOfType(); + anomalyManager = FindObjectOfType(); // 창문 닫을 때 복구할 초기 rotation initialRotation = transform.rotation; diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly3Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly3Manager.cs deleted file mode 100644 index ac6b76e..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly3Manager.cs +++ /dev/null @@ -1,23 +0,0 @@ -using UnityEngine; -public class Anomaly3Manager : MonoBehaviour -{ - public GameObject headlessSchoolgirlPrefab; // Prefab for the headless schoolgirl - private void Start() - { - Debug.Log("Anomaly 3 Started"); - SpawnHeadlessSchoolgirl(); - } - // Spawns the headless schoolgirl prefab at the specified location - private void SpawnHeadlessSchoolgirl() - { - if (headlessSchoolgirlPrefab != null) - { - GameObject headlessSchoolgirlInstance = Instantiate(headlessSchoolgirlPrefab, transform.position, transform.rotation); - } - else - { - Debug.LogWarning("Prefab or spawn location not set for Anomaly3Manager."); - } - } - -} diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly6Manager.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly6Manager.cs.meta deleted file mode 100644 index dd2f2f9..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly6Manager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: b5cacf602dde845d8a9e49737c5381f2 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly6_Cake.cs.meta b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly6_Cake.cs.meta deleted file mode 100644 index 506381d..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly6_Cake.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ea3e75052d956814095a954bc86ac6c8 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly8Manager.cs b/302/Assets/Scripts/SpecificAnomalyManager/Anomaly8Manager.cs deleted file mode 100644 index 2428d9f..0000000 --- a/302/Assets/Scripts/SpecificAnomalyManager/Anomaly8Manager.cs +++ /dev/null @@ -1,30 +0,0 @@ -using UnityEngine; - -public class Anomaly8Manager : MonoBehaviour -{ - public string normalProfessorPrefabName = "professor_normal"; // The GameObject to be destroyed - public GameObject micSoundProfessorPrefab; // The prefab to spawn after destroying the target - - private void Start() - { - GameObject normalProfessorPrefab = GameObject.Find(normalProfessorPrefabName); - if (normalProfessorPrefab != null && micSoundProfessorPrefab != null) - { - // Store the position and rotation of the target before destroying it - Vector3 spawnPosition = normalProfessorPrefab.transform.position; - Quaternion spawnRotation = normalProfessorPrefab.transform.rotation; - - // Destroy the target object - Destroy(normalProfessorPrefab); - - // Instantiate the replacement prefab at the target's position - Instantiate(micSoundProfessorPrefab, spawnPosition, spawnRotation); - - Debug.Log("Anomaly 8 triggered: Target destroyed and replacement spawned."); - } - else - { - Debug.LogWarning("Target object or replacement prefab is not set in Anomaly8Manager."); - } - } -} diff --git a/302/Assets/Scripts/TimeManager.cs b/302/Assets/Scripts/TimeManager.cs new file mode 100644 index 0000000..1d7a7c5 --- /dev/null +++ b/302/Assets/Scripts/TimeManager.cs @@ -0,0 +1,109 @@ +using UnityEngine; + +public class TimeManager : AbstractStageObserver +{ + /********** + * fields * + **********/ + + // 오브젝트 이름 + public string nameClock; + public string nameLaptop; + + /************** + * properties * + **************/ + + // 클래스 이름 + public override string Name { get; } = "TimeManager"; + + // 클래스 인스턴스 + public static TimeManager Instance { get; private set; } + + /************************************* + * implementation: AbstractBehaviour * + *************************************/ + + // `Awake` 메시지 용 메서드 + protected override bool Awake_() + { + bool res = false; + + if (Instance == null) { + Log($"`Instance` has not been set => set `Instance` as `{Name}`"); + Instance = this; + DontDestroyOnLoad(gameObject); + res = base.Awake_(); + } else { + Log($"`Instance` has already been set => destroy `{gameObject.name}`"); + Destroy(gameObject); + } + + return res; + } + + /***************************************** + * implementation: AbstractStageObserver * + *****************************************/ + + // 단계 변경 시 불리는 메서드 + public override bool UpdateStage() + { + int stage = GameManager.Instance.GetCurrentStage(); + ClockController clock = FindClock(); + LaptopScreenController laptop = FindLaptop(); + bool res = true; + + if (clock != null) { + Log("Find `ClockController` success"); + clock.SetTime(stage); + } else { + Log("Find `ClockController` failed", mode: 1); + res = false; + } + + if (laptop != null) { + Log("Find `LaptopScreenController` success"); + laptop.ChangeScreen(stage); + } else { + Log("Find `LaptopScreenController` failed", mode: 1); + res = false; + } + + return res; + } + + /*************** + * new methods * + ***************/ + + // 시계를 찾는 메서드 + private ClockController FindClock() + { + GameObject obj = GameObject.Find(nameClock); + ClockController clock; + + if (obj != null) { + clock = obj.GetComponent(); + } else { + clock = null; + } + + return clock; + } + + // 노트북을 찾는 메서드 + private LaptopScreenController FindLaptop() + { + GameObject obj = GameObject.Find(nameLaptop); + LaptopScreenController laptop; + + if (obj != null) { + laptop = obj.GetComponent(); + } else { + laptop = null; + } + + return laptop; + } +} diff --git a/302/Assets/Scripts/TimeManager.cs.meta b/302/Assets/Scripts/TimeManager.cs.meta new file mode 100644 index 0000000..6a4b083 --- /dev/null +++ b/302/Assets/Scripts/TimeManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 27f34bf521656324bb91ded1d2864982 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: