diff --git a/Assets/Scenes/Main.unity b/Assets/Scenes/Main.unity index 3022fc35b17267f70c8ac57652fa885c039346a9..00c182f4729f498a09e03b2b18334b708b08253f 100644 --- a/Assets/Scenes/Main.unity +++ b/Assets/Scenes/Main.unity @@ -123,6 +123,188 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &7602485 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7602486} + - component: {fileID: 7602489} + - component: {fileID: 7602488} + - component: {fileID: 7602487} + m_Layer: 5 + m_Name: TextInput + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7602486 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7602485} + 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: + - {fileID: 932231929} + - {fileID: 1752927289} + m_Father: {fileID: 1139190134} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &7602487 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7602485} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 7602488} + m_TextComponent: {fileID: 1752927290} + m_Placeholder: {fileID: 932231930} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnSubmit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 125324178} + m_TargetAssemblyTypeName: CheatManager, Assembly-CSharp + m_MethodName: ReadStringInput + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_OnDidEndEdit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 125324178} + m_TargetAssemblyTypeName: CheatManager, Assembly-CSharp + m_MethodName: ReadStringInput + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 125324178} + m_TargetAssemblyTypeName: CheatManager, Assembly-CSharp + m_MethodName: ReadStringInput + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 0 + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_ShouldActivateOnSelect: 1 +--- !u!114 &7602488 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7602485} + 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_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + 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 &7602489 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7602485} + m_CullTransparentMesh: 1 --- !u!1 &28357257 GameObject: m_ObjectHideFlags: 0 @@ -383,6 +565,51 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 93410271} m_CullTransparentMesh: 1 +--- !u!1 &125324176 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 125324177} + - component: {fileID: 125324178} + m_Layer: 0 + m_Name: CheatManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &125324177 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 125324176} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4.426556, y: 4.562791, z: -14.934216} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1796129603} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &125324178 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 125324176} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4ff677c124d78674988964b59f11fec4, type: 3} + m_Name: + m_EditorClassIdentifier: + inputField: {fileID: 7602487} --- !u!1 &177326011 GameObject: m_ObjectHideFlags: 0 @@ -1877,6 +2104,82 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 692873477} m_CullTransparentMesh: 1 +--- !u!1 &735558819 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 735558820} + - component: {fileID: 735558822} + - component: {fileID: 735558821} + m_Layer: 5 + m_Name: MessagePanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &735558820 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 735558819} + 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: + - {fileID: 1201817372} + m_Father: {fileID: 1139190134} + 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: 12.5} + m_SizeDelta: {x: 0, y: -375} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &735558821 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 735558819} + 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: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + 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 &735558822 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 735558819} + m_CullTransparentMesh: 1 --- !u!1 &784101618 GameObject: m_ObjectHideFlags: 0 @@ -2288,6 +2591,85 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 909128894} m_CullTransparentMesh: 1 +--- !u!1 &932231928 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 932231929} + - component: {fileID: 932231931} + - component: {fileID: 932231930} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &932231929 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 932231928} + 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: 7602486} + 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.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &932231930 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 932231928} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 2 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Enter text... +--- !u!222 &932231931 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 932231928} + m_CullTransparentMesh: 1 --- !u!1 &1038376789 GameObject: m_ObjectHideFlags: 0 @@ -2406,13 +2788,18 @@ MonoBehaviour: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1074333544} + m_GameObject: {fileID: 1124016427} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f885ef90267c9e34886fc0ff0361d2da, type: 3} + m_Script: {fileID: 11500000, guid: aa10cc87aff30c04dbe0aa648f5b6adc, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!4 &1074333546 + startingHealth: 100 + sinkSpeed: 2.5 + scoreValue: 10 + deathClip: {fileID: 0} + isCheatOneHitKill: 0 +--- !u!4 &1124016429 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -2678,9 +3065,11 @@ MonoBehaviour: m_GameObject: {fileID: 1139190131} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f885ef90267c9e34886fc0ff0361d2da, type: 3} + m_Script: {fileID: 11500000, guid: eac3a012263105c48916d88caefde15d, type: 3} m_Name: m_EditorClassIdentifier: + messagePanel: {fileID: 735558819} + textInput: {fileID: 7602485} --- !u!1 &1187485193 GameObject: m_ObjectHideFlags: 0 @@ -2717,6 +3106,85 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: -20, y: -20} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1201817371 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1201817372} + - component: {fileID: 1201817374} + - component: {fileID: 1201817373} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1201817372 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1201817371} + 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: 735558820} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 25} + m_SizeDelta: {x: 300, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1201817373 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1201817371} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: New Text +--- !u!222 &1201817374 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1201817371} + m_CullTransparentMesh: 1 --- !u!1 &1222083998 GameObject: m_ObjectHideFlags: 0 @@ -3883,6 +4351,85 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1712414649} m_CullTransparentMesh: 1 +--- !u!1 &1752927288 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1752927289} + - component: {fileID: 1752927291} + - component: {fileID: 1752927290} + m_Layer: 5 + m_Name: Text (Legacy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1752927289 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1752927288} + 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: 7602486} + 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.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1752927290 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1752927288} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &1752927291 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1752927288} + m_CullTransparentMesh: 1 --- !u!1 &1776511254 GameObject: m_ObjectHideFlags: 0 @@ -4009,6 +4556,7 @@ Transform: m_Children: - {fileID: 461218465} - {fileID: 1222083999} + - {fileID: 125324177} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1796129604 @@ -4050,9 +4598,10 @@ MonoBehaviour: m_GameObject: {fileID: 1796129601} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f885ef90267c9e34886fc0ff0361d2da, type: 3} + m_Script: {fileID: 11500000, guid: 4ff677c124d78674988964b59f11fec4, type: 3} m_Name: m_EditorClassIdentifier: + inputField: {fileID: 0} --- !u!1 &1837071935 GameObject: m_ObjectHideFlags: 0 @@ -4796,6 +5345,7 @@ SceneRoots: m_ObjectHideFlags: 0 m_Roots: - {fileID: 1851598982} + - {fileID: 1124016429} - {fileID: 1641232233} - {fileID: 1139190134} - {fileID: 244922607} diff --git a/Assets/Scripts/Enemy/EnemyHealth.cs b/Assets/Scripts/Enemy/EnemyHealth.cs index 947fe84c2378e7935375a2aba8251babe992f3c6..4be00f9aa69918788253ccf1e45bc279e129f59b 100644 --- a/Assets/Scripts/Enemy/EnemyHealth.cs +++ b/Assets/Scripts/Enemy/EnemyHealth.cs @@ -16,6 +16,10 @@ namespace Nightmare CapsuleCollider capsuleCollider; EnemyMovement enemyMovement; + // Cheat One Hit Kill + public bool isCheatOneHitKill = false; + public static bool IsActiveCheatOneHitKill = false; // For indicator to change isCheatOneHitKill + void Awake () { anim = GetComponent <Animator> (); @@ -39,6 +43,8 @@ namespace Nightmare void Update () { + SetCheatOneHitKill(IsActiveCheatOneHitKill); + if (IsDead()) { transform.Translate (-Vector3.up * sinkSpeed * Time.deltaTime); @@ -54,14 +60,36 @@ namespace Nightmare return (currentHealth <= 0f); } + // Activate or deactivate cheat one hit kill + public void SetCheatOneHitKill(bool isActive) + { + // Get an array of all EnemyHealth scripts + EnemyHealth[] allEnemies = FindObjectsOfType<EnemyHealth>(); + + // Loop and set isCheatOneHitKill to true on each enemy + foreach (EnemyHealth eHealth in allEnemies) + { + eHealth.isCheatOneHitKill = isActive; + } + + // Change indicator + IsActiveCheatOneHitKill = isActive; + } + public void TakeDamage (int amount, Vector3 hitPoint) { if (!IsDead()) - { + { + // Cheat one hit kill + if (isCheatOneHitKill) + { + currentHealth = 0; + } + enemyAudio.Play(); currentHealth -= amount; - if (IsDead()) + if (currentHealth <= 0) { Death(); } diff --git a/Assets/Scripts/Managers/CheatManager.cs b/Assets/Scripts/Managers/CheatManager.cs new file mode 100644 index 0000000000000000000000000000000000000000..62eb488421e6de3b7b95b084483e8fcb4b01e57a --- /dev/null +++ b/Assets/Scripts/Managers/CheatManager.cs @@ -0,0 +1,148 @@ +using Nightmare; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.Windows; + +public enum CheatsType +{ + NODAMAGE, + ONEHITKILL, + MOTHERLODE, + XTWOSPEED, + FULLHPPET, + KILLPET, + GETORB, + SKIPLEVEL +} + +public class CheatManager : MonoBehaviour +{ + HUDisplay hud; + PlayerHealth playerHealth; + PlayerMovement playerMovement; + EnemyHealth enemyHealth; + string textInput; + public InputField inputField; + + // Cheats + bool[] cheats = new bool[4]; + + private void Start() + { + hud = GameObject.Find("HUDCanvas").GetComponent<HUDisplay>(); + playerHealth = GameObject.Find("Player").GetComponent<PlayerHealth>(); + playerMovement = GameObject.Find("Player").GetComponent<PlayerMovement>(); + enemyHealth = GameObject.Find("Enemy").GetComponent<EnemyHealth>(); + } + + private void Update() + { + // Reason: the read string conditionals do not contain Y or Z character + // Open input field by pressing Y key + if (UnityEngine.Input.GetKeyDown(KeyCode.Y)) + { + hud.OpenInput(); + } + + // Close input field by pressing Z key + if (UnityEngine.Input.GetKeyDown(KeyCode.Z)) + { + hud.CloseInput(); + } + } + + public void ReadStringInput(string text) + { + textInput = text; + + // Activate cheats based on text input + if (textInput == "NODAMAGE") + { + ActivateNoDamage(); + // Reset the input field text + inputField.text = ""; + + // Close the input field + hud.CloseInput(); + return; + } + if (textInput == "ONEHITKILL") + { + ActivateOneHitKill(); + // Reset the input field text + inputField.text = ""; + + // Close the input field + hud.CloseInput(); + return; + } + if (textInput == "XTWOSPEED") + { + ActivateXTwoSpeed(); + // Reset the input field text + inputField.text = ""; + + // Close the input field + hud.CloseInput(); + return; + } + if (textInput == "RESETCHEATS") + { + ActivateReset(); + // Reset the input field text + inputField.text = ""; + + // Close the input field + hud.CloseInput(); + return; + } + } + + private void ActivateNoDamage() + { + playerHealth.SetCheatNoDamage(true); + hud.OpenPanel("No Damage Cheat Activated!"); + cheats[(int)CheatsType.NODAMAGE] = true; + } + + private void ActivateOneHitKill() + { + enemyHealth.SetCheatOneHitKill(true); + hud.OpenPanel("One Hit Kill Cheat Activated!"); + cheats[(int)CheatsType.ONEHITKILL] = true; + } + + private void ActivateXTwoSpeed() + { + playerMovement.ActivateCheatXTwoSpeed(); + hud.OpenPanel("Two Times Speed Cheat Activated!"); + cheats[(int)CheatsType.XTWOSPEED] = true; + } + + private void ActivateReset() + { + playerHealth.SetCheatNoDamage(false); + playerMovement.ResetSpeed(); + enemyHealth.SetCheatOneHitKill(false); + hud.OpenPanel("Successfully Reset Cheat(s)!"); + } + + public void LoadCheat(bool[] gatheredCheats) + { + if (gatheredCheats[(int) CheatsType.NODAMAGE]) + { + ActivateNoDamage(); + } + if (gatheredCheats[(int) CheatsType.ONEHITKILL]) + { + ActivateOneHitKill(); + } + if (gatheredCheats[(int) CheatsType.XTWOSPEED]) + { + ActivateXTwoSpeed(); + } + } + +} diff --git a/Assets/Scripts/Managers/CheatManager.cs.meta b/Assets/Scripts/Managers/CheatManager.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..4d68d2bcf45f1efd49c197f7c3fa887f538922ce --- /dev/null +++ b/Assets/Scripts/Managers/CheatManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4ff677c124d78674988964b59f11fec4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Managers/HUDisplay.cs b/Assets/Scripts/Managers/HUDisplay.cs new file mode 100644 index 0000000000000000000000000000000000000000..237644352bdcb7c4891b891cb32a6f90fb3777f8 --- /dev/null +++ b/Assets/Scripts/Managers/HUDisplay.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Diagnostics; +using UnityEngine; +using UnityEngine.UI; // For Text + +public class HUDisplay : MonoBehaviour +{ + public GameObject messagePanel; + private Text textComponent; + [SerializeField] GameObject textInput; + + private void Start() + { + // Find Text element on screen + textComponent = messagePanel.transform.Find("Text").GetComponent<Text>(); + + // False as default + messagePanel.SetActive(false); + textInput.SetActive(false); + } + + public void OpenPanel(string text) + { + textComponent.text = text; + messagePanel.SetActive(true); + StartCoroutine(delayExec(2)); + } + + public void ClosePanel() + { + messagePanel.SetActive(false); + } + + public void OpenInput() + { + textInput.SetActive(true); + } + + public void CloseInput() + { + textInput.SetActive(false); + } + + private IEnumerator delayExec(int sec) + { + yield return new WaitForSeconds(sec); + ClosePanel(); + } +} diff --git a/Assets/Scripts/Managers/HUDisplay.cs.meta b/Assets/Scripts/Managers/HUDisplay.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..2064bc1d873149a7ecc95e6a7710ed29a56743a4 --- /dev/null +++ b/Assets/Scripts/Managers/HUDisplay.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: eac3a012263105c48916d88caefde15d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Player/PlayerHealth.cs b/Assets/Scripts/Player/PlayerHealth.cs index 497dbddf1cbaef488a185f36942225b4bd3187d8..0c603cfd9f147e79593cb59a337da5c6307a2ed9 100644 --- a/Assets/Scripts/Player/PlayerHealth.cs +++ b/Assets/Scripts/Player/PlayerHealth.cs @@ -14,7 +14,6 @@ namespace Nightmare public AudioClip deathClip; public float flashSpeed = 5f; public Color flashColour = new Color(1f, 0f, 0f, 0.1f); - public bool godMode = false; Animator anim; AudioSource playerAudio; @@ -23,6 +22,9 @@ namespace Nightmare bool isDead; bool damaged; + // Cheat No Damage + public bool isCheatNoDamage = false; + void Awake() { // Setting up the references. @@ -68,7 +70,7 @@ namespace Nightmare public void TakeDamage(int amount) { - if (godMode) + if (isCheatNoDamage) return; // Set the damaged flag so the screen will flash. @@ -115,5 +117,11 @@ namespace Nightmare { EventManager.TriggerEvent("GameOver"); } + + // Activate or deactivate cheat no damage + public void SetCheatNoDamage(bool isActive) + { + isCheatNoDamage = isActive; + } } } \ No newline at end of file diff --git a/Assets/Scripts/Player/PlayerMovement.cs b/Assets/Scripts/Player/PlayerMovement.cs index 36201d28c73b52876629632167c8316b9c02568a..c33ccfce3247c31777603764a8ff4a083d066a74 100644 --- a/Assets/Scripts/Player/PlayerMovement.cs +++ b/Assets/Scripts/Player/PlayerMovement.cs @@ -7,6 +7,7 @@ namespace Nightmare public class PlayerMovement : PausibleObject { public float speed = 6f; // The speed that the player will move at. + public float prevSpeed; // For twice speed cheat purpose Vector3 movement; // The vector to store the direction of the player's movement. @@ -28,6 +29,9 @@ namespace Nightmare anim = GetComponent <Animator> (); playerRigidbody = GetComponent <Rigidbody> (); + // Set prev speed to speed + prevSpeed = speed; + StartPausible(); } @@ -123,5 +127,20 @@ namespace Nightmare // Tell the animator whether or not the player is walking. anim.SetBool ("IsWalking", walking); } + + // Reset speed to default + public void ResetSpeed() + { + this.speed = 6f; // Back to default + } + + // Activate twice speed cheat + public void ActivateCheatXTwoSpeed() + { + if (this.speed * 2 > prevSpeed * 2) + return; + this.speed *= 2; + } + } } \ No newline at end of file diff --git a/Assets/Scripts/States/GlobalStateManager.cs b/Assets/Scripts/States/GlobalStateManager.cs new file mode 100644 index 0000000000000000000000000000000000000000..a0d815dc9d068c978584e8aead6d70d30d1c391e --- /dev/null +++ b/Assets/Scripts/States/GlobalStateManager.cs @@ -0,0 +1,40 @@ +using Nightmare; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class GlobalStateManager : MonoBehaviour +{ + // Create Singleton + public static GlobalStateManager Instance { get; private set; } + + private CheatManager cheatManager; + + private void Awake() + { + if (Instance != null) + { + if (Instance != this) + { + Destroy(this); + } + } + else + { + Instance = this; + Refresh(); + } + } + + private void Refresh() + { + cheatManager = FindObjectOfType<CheatManager>(); + } + + public void SetState(SaveState state) + { + Refresh(); + + cheatManager.LoadCheat(state.globalSaveState.cheats); + } +} diff --git a/Assets/Scripts/States/GlobalStateManager.cs.meta b/Assets/Scripts/States/GlobalStateManager.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..5b855cc07dfe04bb16508c18a0bec865c021258f --- /dev/null +++ b/Assets/Scripts/States/GlobalStateManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 40f7e905f1aa63741b02b9146e251f76 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/States/SaveState.cs b/Assets/Scripts/States/SaveState.cs new file mode 100644 index 0000000000000000000000000000000000000000..da0b873c5755471c4b62b090a78d431c76926084 --- /dev/null +++ b/Assets/Scripts/States/SaveState.cs @@ -0,0 +1,37 @@ +using System; +using Newtonsoft.Json; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +[Serializable] +public class GlobalSaveState +{ + public bool[] cheats; + + public GlobalSaveState(bool[] cheats) + { + this.cheats = cheats; + } + + public override string ToString() + { + return JsonConvert.SerializeObject(this); + } +} + +[Serializable] +public class SaveState +{ + public GlobalSaveState globalSaveState; + + public SaveState(GlobalSaveState globalSaveState) + { + this.globalSaveState = globalSaveState; + } + + public override string ToString() + { + return JsonConvert.SerializeObject(this); + } +} diff --git a/Assets/Scripts/States/SaveState.cs.meta b/Assets/Scripts/States/SaveState.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..a0c00a35f05aaf0458ec3906981de547b54f4e62 --- /dev/null +++ b/Assets/Scripts/States/SaveState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e0c4e2ce428b7c044baefcfca6687111 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/manifest.json b/Packages/manifest.json index 27be6025ab3e16967e359e506380cafc40867297..731c40e02883f9f87a99958a334acef8d2554d6b 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -2,6 +2,7 @@ "dependencies": { "com.unity.collab-proxy": "2.3.1", "com.unity.feature.development": "1.0.1", + "com.unity.nuget.newtonsoft-json": "3.2.1", "com.unity.textmeshpro": "3.0.6", "com.unity.timeline": "1.7.6", "com.unity.ugui": "1.0.0", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 6cdad5f6aa31e0654818e5b0d96e39cd6ad98093..6ad5838dcbb0ff3ff0c2096a82be22200c5025de 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -60,6 +60,13 @@ "dependencies": {}, "url": "https://packages.unity.com" }, + "com.unity.nuget.newtonsoft-json": { + "version": "3.2.1", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, "com.unity.performance.profile-analyzer": { "version": "1.2.2", "depth": 1,