diff --git a/3D Beginner/Assets/Animation/Animators/Gargoyle.controller b/3D Beginner/Assets/Animation/Animators/Gargoyle.controller new file mode 100644 index 0000000000000000000000000000000000000000..e8dea367228d32a9199b44d8543630b0c385e39d --- /dev/null +++ b/3D Beginner/Assets/Animation/Animators/Gargoyle.controller @@ -0,0 +1,72 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1107 &-456738505204971458 +AnimatorStateMachine: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 3660693992566604461} + m_Position: {x: 68, y: 228, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 3660693992566604461} +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Gargoyle + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: -456738505204971458} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1102 &3660693992566604461 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Gargoyle_Idle + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 475d389e70692ca4abb09caca1aef9ae, type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: diff --git a/3D Beginner/Assets/Animation/Animators/Gargoyle.controller.meta b/3D Beginner/Assets/Animation/Animators/Gargoyle.controller.meta new file mode 100644 index 0000000000000000000000000000000000000000..48a239c386ad29bd44968ed7835abdec6c6afef8 --- /dev/null +++ b/3D Beginner/Assets/Animation/Animators/Gargoyle.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8c79254a8c0523f41b5f14ae2a44ef84 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/3D Beginner/Assets/Prefabs/Gargoyle.prefab b/3D Beginner/Assets/Prefabs/Gargoyle.prefab new file mode 100644 index 0000000000000000000000000000000000000000..6f1299cde33f088041680727ff9b19df93986fa1 --- /dev/null +++ b/3D Beginner/Assets/Prefabs/Gargoyle.prefab @@ -0,0 +1,212 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1463475805445824539 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1463475805446061115} + - component: {fileID: 1463475805436466139} + - component: {fileID: 709614294065810118} + m_Layer: 0 + m_Name: Gargoyle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1463475805446061115 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1463475805445824539} + 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_Children: + - {fileID: 1463475805446061503} + - {fileID: 5038478422818583599} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &1463475805436466139 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1463475805445824539} + m_Enabled: 1 + m_Avatar: {fileID: 9000000, guid: d3312d02a690eda48bd6807bf5c78084, type: 3} + m_Controller: {fileID: 9100000, guid: 8c79254a8c0523f41b5f14ae2a44ef84, type: 2} + m_CullingMode: 1 + m_UpdateMode: 0 + m_ApplyRootMotion: 1 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 0 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!136 &709614294065810118 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1463475805445824539} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.3 + m_Height: 1.8 + m_Direction: 1 + m_Center: {x: 0, y: 0.9, z: 0} +--- !u!1 &1463475805445824927 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1463475805446061503} + - component: {fileID: 1463475805432229151} + m_Layer: 0 + m_Name: GargoyleModel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1463475805446061503 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1463475805445824927} + 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_Children: [] + m_Father: {fileID: 1463475805446061115} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1463475805432229151 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1463475805445824927} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 98a5d7f03b88cef44932b3206c7bd8db, type: 2} + - {fileID: 2100000, guid: 380abfdf82677234e922db7133b0e63c, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300008, guid: d3312d02a690eda48bd6807bf5c78084, type: 3} + m_Bones: [] + m_BlendShapeWeights: [] + m_RootBone: {fileID: 0} + m_AABB: + m_Center: {x: 0.47926563, y: 0.99965894, z: 0.50778025} + m_Extent: {x: 1.3090248, y: 0.9985337, z: 1.1511977} + m_DirtyAABB: 0 +--- !u!1 &7254608850056601872 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5038478422818583599} + - component: {fileID: 3518912616932395146} + - component: {fileID: 2883899346223202574} + m_Layer: 0 + m_Name: PointOfView + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5038478422818583599 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7254608850056601872} + m_LocalRotation: {x: 0.17364816, y: 0, z: 0, w: 0.9848078} + m_LocalPosition: {x: 0, y: 1.4, z: 0.4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1463475805446061115} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 20, y: 0, z: 0} +--- !u!136 &3518912616932395146 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7254608850056601872} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + m_Radius: 0.7 + m_Height: 2 + m_Direction: 2 + m_Center: {x: 0, y: 0, z: 0.95} +--- !u!114 &2883899346223202574 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7254608850056601872} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9e4a994da5ae698479e08d95c0cc194b, type: 3} + m_Name: + m_EditorClassIdentifier: + player: {fileID: 0} + gameEnding: {fileID: 0} diff --git a/3D Beginner/Assets/Prefabs/Gargoyle.prefab.meta b/3D Beginner/Assets/Prefabs/Gargoyle.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..9b9e55ae945a094fa0e7fcaac9cb12277c324a2c --- /dev/null +++ b/3D Beginner/Assets/Prefabs/Gargoyle.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 665cfc3a83f725e4c84c0c94df928a7e +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/3D Beginner/Assets/Scenes/MainScene.unity b/3D Beginner/Assets/Scenes/MainScene.unity index 164dc8bdebd0d75559276b5a46361bee79ce2404..2191e53599b33a38574b3f1d6abd819d36d1a1bf 100644 --- a/3D Beginner/Assets/Scenes/MainScene.unity +++ b/3D Beginner/Assets/Scenes/MainScene.unity @@ -563,6 +563,7 @@ RectTransform: m_LocalScale: {x: 0, y: 0, z: 0} m_Children: - {fileID: 1657079097} + - {fileID: 1554733193} m_Father: {fileID: 0} m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -3776,6 +3777,94 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 549c69af39b84624b8a053537c407def, type: 3} +--- !u!1 &1554733189 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1554733193} + - component: {fileID: 1554733192} + - component: {fileID: 1554733191} + - component: {fileID: 1554733190} + m_Layer: 5 + m_Name: CaughtImageBackground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!225 &1554733190 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1554733189} + m_Enabled: 1 + m_Alpha: 0 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &1554733191 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1554733189} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1554733192 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1554733189} + m_CullTransparentMesh: 0 +--- !u!224 &1554733193 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1554733189} + 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_Children: + - {fileID: 1929734626} + m_Father: {fileID: 1233697910} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1635793806 GameObject: m_ObjectHideFlags: 3 @@ -3949,6 +4038,80 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1657079096} m_CullTransparentMesh: 0 +--- !u!1 &1929734625 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1929734626} + - component: {fileID: 1929734628} + - component: {fileID: 1929734627} + m_Layer: 5 + m_Name: CaughtImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1929734626 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1929734625} + 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_Children: [] + m_Father: {fileID: 1554733193} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1929734627 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1929734625} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 85d46c7add1129741a0d78fadba6998e, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1929734628 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1929734625} + m_CullTransparentMesh: 0 --- !u!1 &2076713606 GameObject: m_ObjectHideFlags: 0 @@ -4009,6 +4172,7 @@ MonoBehaviour: fadeDuration: 1 player: {fileID: 1303697218} exitBackgroundImageCanvasGroup: {fileID: 1657079098} + caughtBackgroundImageCanvasGroup: {fileID: 1554733190} displayImageDuration: 1 --- !u!1 &2102514778 GameObject: @@ -4077,6 +4241,90 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0} +--- !u!1001 &1124043255099037131 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1463475805436466139, guid: 665cfc3a83f725e4c84c0c94df928a7e, + type: 3} + propertyPath: m_Controller + value: + objectReference: {fileID: 9100000, guid: 8c79254a8c0523f41b5f14ae2a44ef84, type: 2} + - target: {fileID: 1463475805445824539, guid: 665cfc3a83f725e4c84c0c94df928a7e, + type: 3} + propertyPath: m_Name + value: Gargoyle + objectReference: {fileID: 0} + - target: {fileID: 1463475805446061115, guid: 665cfc3a83f725e4c84c0c94df928a7e, + type: 3} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 1463475805446061115, guid: 665cfc3a83f725e4c84c0c94df928a7e, + type: 3} + propertyPath: m_LocalPosition.x + value: -15.2 + objectReference: {fileID: 0} + - target: {fileID: 1463475805446061115, guid: 665cfc3a83f725e4c84c0c94df928a7e, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1463475805446061115, guid: 665cfc3a83f725e4c84c0c94df928a7e, + type: 3} + propertyPath: m_LocalPosition.z + value: 0.8 + objectReference: {fileID: 0} + - target: {fileID: 1463475805446061115, guid: 665cfc3a83f725e4c84c0c94df928a7e, + type: 3} + propertyPath: m_LocalRotation.w + value: 0.38268343 + objectReference: {fileID: 0} + - target: {fileID: 1463475805446061115, guid: 665cfc3a83f725e4c84c0c94df928a7e, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1463475805446061115, guid: 665cfc3a83f725e4c84c0c94df928a7e, + type: 3} + propertyPath: m_LocalRotation.y + value: 0.92387956 + objectReference: {fileID: 0} + - target: {fileID: 1463475805446061115, guid: 665cfc3a83f725e4c84c0c94df928a7e, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1463475805446061115, guid: 665cfc3a83f725e4c84c0c94df928a7e, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1463475805446061115, guid: 665cfc3a83f725e4c84c0c94df928a7e, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 135 + objectReference: {fileID: 0} + - target: {fileID: 1463475805446061115, guid: 665cfc3a83f725e4c84c0c94df928a7e, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2883899346223202574, guid: 665cfc3a83f725e4c84c0c94df928a7e, + type: 3} + propertyPath: player + value: + objectReference: {fileID: 5706511174691025489} + - target: {fileID: 2883899346223202574, guid: 665cfc3a83f725e4c84c0c94df928a7e, + type: 3} + propertyPath: gameEnding + value: + objectReference: {fileID: 2076713609} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 665cfc3a83f725e4c84c0c94df928a7e, type: 3} --- !u!1001 &5706511174691025488 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/3D Beginner/Assets/Scripts/GameEnding.cs b/3D Beginner/Assets/Scripts/GameEnding.cs index 3449a5e5eb15660eb13950ec5ed44dd3a77c664f..41a5636d08ea72b899c57e9b284c4cb9927dd9a3 100644 --- a/3D Beginner/Assets/Scripts/GameEnding.cs +++ b/3D Beginner/Assets/Scripts/GameEnding.cs @@ -1,15 +1,18 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; +using UnityEngine.SceneManagement; public class GameEnding : MonoBehaviour { public float fadeDuration = 1f; public GameObject player; public CanvasGroup exitBackgroundImageCanvasGroup; + public CanvasGroup caughtBackgroundImageCanvasGroup; public float displayImageDuration = 1f; bool m_IsPlayerAtExit; + bool m_IsPlayerCaught; float m_Timer; private void OnTriggerEnter(Collider other) @@ -20,21 +23,40 @@ public class GameEnding : MonoBehaviour } } + public void CaughtPlayer() + { + m_IsPlayerCaught = true; + } + private void Update() { if (m_IsPlayerAtExit) { - EndLevel(); + EndLevel(exitBackgroundImageCanvasGroup, false); + } + else if (m_IsPlayerCaught) + { + EndLevel(caughtBackgroundImageCanvasGroup, true); } } - void EndLevel() + void EndLevel(CanvasGroup imageCanvasGroup, bool doRestart) { m_Timer += Time.deltaTime; - exitBackgroundImageCanvasGroup.alpha = m_Timer / fadeDuration; + + imageCanvasGroup.alpha = m_Timer / fadeDuration; + if (m_Timer > fadeDuration + displayImageDuration) { - Application.Quit(); + if (doRestart) + { + SceneManager.LoadScene(0); + } + else + { + Application.Quit(); + } + } } } diff --git a/3D Beginner/Assets/Scripts/Observer.cs b/3D Beginner/Assets/Scripts/Observer.cs new file mode 100644 index 0000000000000000000000000000000000000000..a722ba5dd3907d9e648cdb6d617affd878fddb21 --- /dev/null +++ b/3D Beginner/Assets/Scripts/Observer.cs @@ -0,0 +1,47 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Observer : MonoBehaviour +{ + public Transform player; + bool m_IsPlayerInRange; + public GameEnding gameEnding; + + // Identify when the player character is in the Trigger + private void OnTriggerEnter(Collider other) + { + if(other.transform == player) + { + m_IsPlayerInRange = true; + } + } + + private void OnTriggerExit(Collider other) + { + if (other.transform == player) + { + m_IsPlayerInRange = false; + } + } + + private void Update() + { + // Use Raycast and know if it has hit a Collider + if (m_IsPlayerInRange) + { + Vector3 direction = player.position - transform.position + Vector3.up; + Ray ray = new Ray(transform.position, direction); + RaycastHit raycastHit; + + // Identify whether that Collider was the player character + if (Physics.Raycast(ray, out raycastHit)) + { + if(raycastHit.collider.transform == player) + { + gameEnding.CaughtPlayer(); + } + } + } + } +} diff --git a/3D Beginner/Assets/Scripts/Observer.cs.meta b/3D Beginner/Assets/Scripts/Observer.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..1e089e9d086d347ca30b43bf988877c98c242b5e --- /dev/null +++ b/3D Beginner/Assets/Scripts/Observer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9e4a994da5ae698479e08d95c0cc194b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: