diff --git a/Assembly-CSharp.csproj b/Assembly-CSharp.csproj index 56e352a..8bdbc81 100644 --- a/Assembly-CSharp.csproj +++ b/Assembly-CSharp.csproj @@ -1,4 +1,4 @@ - + Temp\obj\$(MSBuildProjectName) @@ -66,6 +66,7 @@ + diff --git a/Assets/Animation/P_Run01.controller b/Assets/Animation/P_Run01.controller index cbf294a..8efa1e7 100644 --- a/Assets/Animation/P_Run01.controller +++ b/Assets/Animation/P_Run01.controller @@ -135,6 +135,31 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &-6621590539747483612 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: isCollapsed + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -1210443090960147805} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.7692308 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1101 &-6059084907828803585 AnimatorStateTransition: m_ObjectHideFlags: 1 @@ -172,6 +197,7 @@ AnimatorState: m_CycleOffset: 0 m_Transitions: - {fileID: 3261478500395500566} + - {fileID: -6621590539747483612} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -251,9 +277,6 @@ AnimatorStateTransition: - m_ConditionMode: 1 m_ConditionEvent: isJumping m_EventTreshold: 0 - - m_ConditionMode: 2 - m_ConditionEvent: isRunning - m_EventTreshold: 0 m_DstStateMachine: {fileID: 0} m_DstState: {fileID: -5449330869365902308} m_Solo: 0 @@ -303,8 +326,7 @@ AnimatorState: m_Name: playerCollapse m_Speed: 1 m_CycleOffset: 0 - m_Transitions: - - {fileID: 7973517625427532113} + m_Transitions: [] m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -758,28 +780,3 @@ AnimatorStateTransition: m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 ---- !u!1101 &7973517625427532113 -AnimatorStateTransition: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_Conditions: - - m_ConditionMode: 2 - m_ConditionEvent: isCollapsed - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 7407206800022927606} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.8148148 - m_HasExitTime: 1 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 1 diff --git a/Assets/Art/Explosion.png b/Assets/Art/Explosion.png new file mode 100644 index 0000000..e9690ff Binary files /dev/null and b/Assets/Art/Explosion.png differ diff --git a/Assets/Art/Explosion01.png b/Assets/Art/Explosion01.png new file mode 100644 index 0000000..97b6df8 Binary files /dev/null and b/Assets/Art/Explosion01.png differ diff --git a/Assets/Art/Explosion02.png b/Assets/Art/Explosion02.png new file mode 100644 index 0000000..6dde9ef Binary files /dev/null and b/Assets/Art/Explosion02.png differ diff --git a/Assets/Art/Explosion03.png b/Assets/Art/Explosion03.png new file mode 100644 index 0000000..4642bd3 Binary files /dev/null and b/Assets/Art/Explosion03.png differ diff --git a/Assets/Art/Explosion04.png b/Assets/Art/Explosion04.png new file mode 100644 index 0000000..53c692f Binary files /dev/null and b/Assets/Art/Explosion04.png differ diff --git a/Assets/Art/LoseScreen.png b/Assets/Art/LoseScreen.png new file mode 100644 index 0000000..fcea525 Binary files /dev/null and b/Assets/Art/LoseScreen.png differ diff --git a/Assets/Art/Pumpkin.png b/Assets/Art/Pumpkin.png new file mode 100644 index 0000000..541a441 Binary files /dev/null and b/Assets/Art/Pumpkin.png differ diff --git a/Assets/Art/PurplePlatform.aseprite b/Assets/Art/PurplePlatform.aseprite new file mode 100644 index 0000000..8801c69 Binary files /dev/null and b/Assets/Art/PurplePlatform.aseprite differ diff --git a/Assets/Art/TitleScreen.png b/Assets/Art/TitleScreen.png new file mode 100644 index 0000000..8d93d23 Binary files /dev/null and b/Assets/Art/TitleScreen.png differ diff --git a/Assets/Art/WinScreen.png b/Assets/Art/WinScreen.png new file mode 100644 index 0000000..97875fd Binary files /dev/null and b/Assets/Art/WinScreen.png differ diff --git a/Assets/InputSystem_Actions.inputactions b/Assets/InputSystem_Actions.inputactions index aa0e1f3..0decd8c 100644 --- a/Assets/InputSystem_Actions.inputactions +++ b/Assets/InputSystem_Actions.inputactions @@ -32,6 +32,15 @@ "processors": "", "interactions": "", "initialStateCheck": false + }, + { + "name": "Heal", + "type": "Button", + "id": "96a3c855-05a0-4431-961e-d2552c539bf0", + "expectedControlType": "", + "processors": "", + "interactions": "", + "initialStateCheck": false } ], "bindings": [ @@ -221,6 +230,17 @@ "action": "Interact", "isComposite": false, "isPartOfComposite": false + }, + { + "name": "", + "id": "95d44eae-cbf8-4ad2-9dc3-9e8524118e9f", + "path": "/buttonNorth", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Heal", + "isComposite": false, + "isPartOfComposite": false } ] }, @@ -254,6 +274,15 @@ "processors": "", "interactions": "", "initialStateCheck": false + }, + { + "name": "Heal", + "type": "Button", + "id": "d384b3b4-cc86-4a73-a97f-0d04e31417a8", + "expectedControlType": "", + "processors": "", + "interactions": "", + "initialStateCheck": false } ], "bindings": [ @@ -268,6 +297,17 @@ "isComposite": false, "isPartOfComposite": false }, + { + "name": "", + "id": "d952c2fd-e0f5-4ab9-bbbd-2af129855725", + "path": "/buttonNorth", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Heal", + "isComposite": false, + "isPartOfComposite": false + }, { "name": "", "id": "0bb7b65d-0e9d-4a2a-8bd4-35a4d9f5b7a2", @@ -322,6 +362,15 @@ "processors": "", "interactions": "", "initialStateCheck": false + }, + { + "name": "Heal", + "type": "Button", + "id": "56e697eb-9ef8-4e3d-9671-74da02a08793", + "expectedControlType": "", + "processors": "", + "interactions": "", + "initialStateCheck": false } ], "bindings": [ @@ -336,6 +385,17 @@ "isComposite": false, "isPartOfComposite": false }, + { + "name": "", + "id": "bcba7833-70cc-40cf-aa96-a824333c9112", + "path": "/buttonNorth", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Heal", + "isComposite": false, + "isPartOfComposite": false + }, { "name": "", "id": "a91fe28e-bdb1-4a19-b09b-9bb52dc0940c", @@ -390,6 +450,15 @@ "processors": "", "interactions": "", "initialStateCheck": false + }, + { + "name": "Heal", + "type": "Button", + "id": "7eee99e7-4426-4f8f-812f-0562adbbbbd3", + "expectedControlType": "", + "processors": "", + "interactions": "", + "initialStateCheck": false } ], "bindings": [ @@ -404,6 +473,17 @@ "isComposite": false, "isPartOfComposite": false }, + { + "name": "", + "id": "f5d22357-bf6c-456d-95bb-057bd7d482f9", + "path": "/buttonNorth", + "interactions": "", + "processors": "", + "groups": ";Gamepad", + "action": "Heal", + "isComposite": false, + "isPartOfComposite": false + }, { "name": "", "id": "0f15df45-ecb7-4a35-8e06-293d50b89001", @@ -1007,4 +1087,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/Assets/Prefabs/EnemyBarrier.prefab b/Assets/Prefabs/EnemyBarrier.prefab new file mode 100644 index 0000000..c1bbf9e --- /dev/null +++ b/Assets/Prefabs/EnemyBarrier.prefab @@ -0,0 +1,55 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8062391313330381747 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 191492520573121038} + - component: {fileID: 2630265126968092202} + m_Layer: 0 + m_Name: EnemyBarrier + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &191492520573121038 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8062391313330381747} + serializedVersion: 2 + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &2630265126968092202 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8062391313330381747} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1.6092091, y: 10.161938, z: 1} + m_Center: {x: 7.4978, y: -0.040241957, z: 0} diff --git a/Assets/Prefabs/EnemyBarrier.prefab.meta b/Assets/Prefabs/EnemyBarrier.prefab.meta new file mode 100644 index 0000000..eb675ad --- /dev/null +++ b/Assets/Prefabs/EnemyBarrier.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: dd978b6bbfaf7864dbb3a6ec7b2851ba +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Player.prefab b/Assets/Prefabs/Player.prefab index 1c89edd..3e89639 100644 --- a/Assets/Prefabs/Player.prefab +++ b/Assets/Prefabs/Player.prefab @@ -16,6 +16,8 @@ GameObject: - component: {fileID: 7763498473808654306} - component: {fileID: 3659140714710275197} - component: {fileID: 9133098163257611752} + - component: {fileID: 4619270190355407300} + - component: {fileID: 72138333084358172} m_Layer: 6 m_Name: Player m_TagString: Untagged @@ -199,6 +201,7 @@ MonoBehaviour: actionMapName: Player moveActionName: Move jumpActionName: Jump + healActionName: Heal controlSchemeName: Gamepad gamepadIndex: 0 moveSpeed: 6 @@ -251,6 +254,40 @@ MonoBehaviour: isPanicking: 0 isParalyzed: 0 paralyseDuration: 1.2 +--- !u!95 &4619270190355407300 +Animator: + serializedVersion: 7 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3937090937419967315} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 86632cb6b3835a44e87fb6f039478d61, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_AnimatePhysics: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &72138333084358172 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3937090937419967315} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fdb391b004c27a64da8f6922aab5512e, type: 3} + m_Name: + m_EditorClassIdentifier: '::' --- !u!1 &6898135930931977916 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/Experiment.unity b/Assets/Scenes/Experiment.unity index cb6268d..17be769 100644 --- a/Assets/Scenes/Experiment.unity +++ b/Assets/Scenes/Experiment.unity @@ -203,6 +203,10 @@ PrefabInstance: propertyPath: actionMapName value: Player2 objectReference: {fileID: 0} + - target: {fileID: 7763498473808654306, guid: 414ae949bae840c4589b38dd91c715e0, type: 3} + propertyPath: healActionName + value: Heal + objectReference: {fileID: 0} - target: {fileID: 7763498473808654306, guid: 414ae949bae840c4589b38dd91c715e0, type: 3} propertyPath: controlSchemeName value: Gamepad @@ -400,6 +404,14 @@ PrefabInstance: propertyPath: actionMapName value: Player2 objectReference: {fileID: 0} + - target: {fileID: 7763498473808654306, guid: 414ae949bae840c4589b38dd91c715e0, type: 3} + propertyPath: healActionName + value: Heal + objectReference: {fileID: 0} + - target: {fileID: 7763498473808654306, guid: 414ae949bae840c4589b38dd91c715e0, type: 3} + propertyPath: jumpActionName + value: Jump + objectReference: {fileID: 0} - target: {fileID: 7763498473808654306, guid: 414ae949bae840c4589b38dd91c715e0, type: 3} propertyPath: controlSchemeName value: Gamepad @@ -425,120 +437,6 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 414ae949bae840c4589b38dd91c715e0, type: 3} ---- !u!1 &393625608 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 393625611} - - component: {fileID: 393625610} - - component: {fileID: 393625609} - m_Layer: 0 - m_Name: Trick_Run01 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!95 &393625609 -Animator: - serializedVersion: 7 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 393625608} - m_Enabled: 1 - m_Avatar: {fileID: 0} - m_Controller: {fileID: 9100000, guid: c4f171c0550c83640bad4a8bc02f1c73, type: 2} - m_CullingMode: 0 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_AnimatePhysics: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!212 &393625610 -SpriteRenderer: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 393625608} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, 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: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_MaskInteraction: 0 - m_Sprite: {fileID: 21300000, guid: 9c5273d0f7687334ba77aa78d87131b9, type: 3} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_FlipX: 0 - m_FlipY: 0 - m_DrawMode: 0 - m_Size: {x: 2.26, y: 2.86} - m_AdaptiveModeThreshold: 0.5 - m_SpriteTileMode: 0 - m_WasSpriteAssigned: 1 - m_SpriteSortPoint: 0 ---- !u!4 &393625611 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 393625608} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 7.804798, y: -2.2748086, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &418512664 GameObject: m_ObjectHideFlags: 0 @@ -1346,7 +1244,7 @@ AudioSource: m_PlayOnAwake: 1 m_Volume: 1 m_Pitch: 1 - Loop: 0 + Loop: 1 Mute: 0 Spatialize: 0 SpatializePostEffects: 0 @@ -1495,6 +1393,10 @@ PrefabInstance: propertyPath: m_Name value: Player (1) objectReference: {fileID: 0} + - target: {fileID: 7763498473808654306, guid: 414ae949bae840c4589b38dd91c715e0, type: 3} + propertyPath: healActionName + value: Heal + objectReference: {fileID: 0} - target: {fileID: 8870760143677714522, guid: 414ae949bae840c4589b38dd91c715e0, type: 3} propertyPath: m_Color.b value: 0.6462264 @@ -1902,6 +1804,58 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &908853548 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 908853550} + - component: {fileID: 908853549} + m_Layer: 0 + m_Name: Treat Spawner BL + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &908853549 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 908853548} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 14b0bf07aa1abc44a8ebd00cecacd6f4, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Spawner + objectToSpawn: {fileID: 262983251238298495, guid: 80c527a86ad6fc34dbc73ee80c1f2951, type: 3} + spawnInterval: 5 + maxAlive: 0 + spawnOnStart: 1 + repeatSpawns: 1 + launchForce: 0 + launchRandomAngle: 0 + spinSpeed: 0 +--- !u!4 &908853550 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 908853548} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4.5, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1118230342 GameObject: m_ObjectHideFlags: 0 @@ -1938,6 +1892,7 @@ MonoBehaviour: actionMapName: Player moveActionName: Move jumpActionName: Jump + healActionName: Heal controlSchemeName: gamepadIndex: -1 moveSpeed: 6 @@ -2461,6 +2416,10 @@ PrefabInstance: propertyPath: actionMapName value: Player2 objectReference: {fileID: 0} + - target: {fileID: 7763498473808654306, guid: 414ae949bae840c4589b38dd91c715e0, type: 3} + propertyPath: healActionName + value: Heal + objectReference: {fileID: 0} - target: {fileID: 7763498473808654306, guid: 414ae949bae840c4589b38dd91c715e0, type: 3} propertyPath: controlSchemeName value: Gamepad @@ -3028,5 +2987,4 @@ SceneRoots: - {fileID: 2100000101} - {fileID: 2200000001} - {fileID: 491328828} - - {fileID: 393625611} - {fileID: 738367608} diff --git a/Assets/Scripts/PlayerAnimationController.cs b/Assets/Scripts/PlayerAnimationController.cs new file mode 100644 index 0000000..99e2a79 --- /dev/null +++ b/Assets/Scripts/PlayerAnimationController.cs @@ -0,0 +1,10 @@ +using UnityEngine; + +public class PlayerAnimationController : MonoBehaviour +{ + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/PlayerAnimationController.cs.meta b/Assets/Scripts/PlayerAnimationController.cs.meta new file mode 100644 index 0000000..a63b0e2 --- /dev/null +++ b/Assets/Scripts/PlayerAnimationController.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: fdb391b004c27a64da8f6922aab5512e \ No newline at end of file diff --git a/Assets/Scripts/PlayerPickupController.cs b/Assets/Scripts/PlayerPickupController.cs index 83d724b..ccc5307 100644 --- a/Assets/Scripts/PlayerPickupController.cs +++ b/Assets/Scripts/PlayerPickupController.cs @@ -205,7 +205,7 @@ public class PlayerPickupController : MonoBehaviour } } - void DropObject(bool applyThrow) + public void DropObject(bool applyThrow) { // Re-enable physics if (heldBody != null) diff --git a/Assets/Scripts/PlayerPlatformerController.cs b/Assets/Scripts/PlayerPlatformerController.cs index cf54920..a1b1913 100644 --- a/Assets/Scripts/PlayerPlatformerController.cs +++ b/Assets/Scripts/PlayerPlatformerController.cs @@ -10,7 +10,7 @@ public class PlayerPlatformerController : MonoBehaviour [SerializeField] private string actionMapName = "Player"; [SerializeField] private string moveActionName = "Move"; [SerializeField] private string jumpActionName = "Jump"; - [SerializeField] private string healActionName = "Crouch"; + [SerializeField] private string healActionName = "Heal"; [SerializeField] private string controlSchemeName = ""; [SerializeField] private int gamepadIndex = -1; [SerializeField] private float moveSpeed = 6f; @@ -19,6 +19,8 @@ public class PlayerPlatformerController : MonoBehaviour [SerializeField] private float groundCheckDistance = 0.05f; private PlayerStressController playerStressController; + private PlayerPickupController playerPickupController; + private Animator animator; private Rigidbody2D body; private BoxCollider2D bodyCollider; @@ -28,12 +30,17 @@ public class PlayerPlatformerController : MonoBehaviour private InputAction healAction; public float LastMoveX { get; private set; } private bool deviceFilterEnabled; + private int healCoolDownTicks = 15; + private int currentHealCoolDown = 0; + private bool canHeal = true; private void Awake() { body = GetComponent(); bodyCollider = GetComponent(); playerStressController = GetComponent(); + playerPickupController = GetComponent(); + animator = GetComponent(); } private void OnEnable() @@ -56,10 +63,12 @@ public class PlayerPlatformerController : MonoBehaviour var map = runtimeActions.FindActionMap(actionMapName, true); moveAction = map.FindAction(moveActionName, true); jumpAction = map.FindAction(jumpActionName, true); + healAction = map.FindAction(healActionName, true); moveAction.Enable(); jumpAction.Enable(); jumpAction.performed += OnJumpPerformed; + healAction.Enable(); } private void OnDisable() @@ -75,6 +84,11 @@ public class PlayerPlatformerController : MonoBehaviour moveAction.Disable(); } + if (healAction != null) + { + healAction.Disable(); + } + if (runtimeActions != null) { runtimeActions.Disable(); @@ -86,6 +100,21 @@ public class PlayerPlatformerController : MonoBehaviour private void FixedUpdate() { + if(IsGrounded()) + { + animator.SetBool("isJumping", false); + } + + if (healAction == null) return; + + currentHealCoolDown++; + + if (currentHealCoolDown >= healCoolDownTicks) + { + currentHealCoolDown = 0; + canHeal = true; + } + if (moveAction == null) { return; @@ -93,6 +122,28 @@ public class PlayerPlatformerController : MonoBehaviour if (playerStressController.isPanicking) return; + if (healAction.IsPressed()) + { + animator.SetBool("isBreathing", true); + + if (playerPickupController.heldObject != null) + { + playerPickupController.DropObject(false); + } + + if (canHeal) + { + playerStressController.ReduceStress(3f); + canHeal = false; + } + + return; + } + else + { + animator.SetBool("isBreathing", false); + } + var input = moveAction.ReadValue(); if (Mathf.Abs(input.x) > 0.01f) { @@ -101,11 +152,28 @@ public class PlayerPlatformerController : MonoBehaviour var velocity = body.linearVelocity; velocity.x = input.x * moveSpeed; body.linearVelocity = velocity; + + if(velocity.x != 0) + { + animator.SetBool("isRunning", true); + if (velocity.x > 0 && IsGrounded()) + { + transform.localScale = new Vector3(.25f, .25f, .25f); + } + else + { + transform.localScale = new Vector3(-.25f, .25f, .25f); + } + } + else + { + animator.SetBool("isRunning", false); + } } private void OnJumpPerformed(InputAction.CallbackContext context) { - if (playerStressController.isPanicking) return; + if (playerStressController.isPanicking || healAction.IsPressed()) return; if (!IsGrounded()) { @@ -116,6 +184,8 @@ public class PlayerPlatformerController : MonoBehaviour velocity.y = 0f; body.linearVelocity = velocity; body.AddForce(Vector2.up * jumpImpulse, ForceMode2D.Impulse); + + animator.SetBool("isJumping", true); } private bool ShouldFilterDevices() diff --git a/Assets/Scripts/PlayerStressController.cs b/Assets/Scripts/PlayerStressController.cs index 668711d..7cdf286 100644 --- a/Assets/Scripts/PlayerStressController.cs +++ b/Assets/Scripts/PlayerStressController.cs @@ -7,7 +7,8 @@ using UnityEngine; public class PlayerStressController : MonoBehaviour { public PlayerPickupController pickupController; - + private Animator animator; + [Header("Stress Settings")] public float currentStress = 0f; public float maxStress = 100f; @@ -25,6 +26,7 @@ public class PlayerStressController : MonoBehaviour void Start() { + animator = GetComponent(); // Start the repeating loop StartCoroutine(StressCheckLoop()); } @@ -76,6 +78,8 @@ public class PlayerStressController : MonoBehaviour { isPanicking = true; + animator.SetBool("isCollapsed", true); + Debug.Log("Player is freaking out man!"); // Add effects like screen shake or slowing down the player here OnPlayerPanic?.Invoke(); // Trigger the panic event diff --git a/Assets/Scripts/TrickCollisionManager.cs b/Assets/Scripts/TrickCollisionManager.cs index de5f81e..fb94c9f 100644 --- a/Assets/Scripts/TrickCollisionManager.cs +++ b/Assets/Scripts/TrickCollisionManager.cs @@ -5,6 +5,8 @@ public class TrickCollisionManager : MonoBehaviour [SerializeField] private string trickLayerName = "Trick"; [SerializeField] private string playerLayerName = "Player"; [SerializeField] private string treatLayerName = "Treat"; + [SerializeField] private string destroyTag = "Destroy"; + private bool initialized; private void Awake() @@ -43,4 +45,10 @@ public class TrickCollisionManager : MonoBehaviour Physics2D.IgnoreLayerCollision(trickLayer, otherLayer, true); } + private void onTriggerEnter2D(Collider2D destroy){ + if (destroy.CompareTag(destroyTag)) + { + Destroy(gameObject); + } + } } diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index 3b113c7..aea63fa 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -17,12 +17,12 @@ EditorBuildSettings: - enabled: 1 path: Assets/Scenes/Win.unity guid: 4130885cdd041af4c8b7861d46bbcf11 - - enabled: 1 - path: Assets/Scenes/Lose.unity - guid: d554758d849cd094e9fe7db190ef082e - enabled: 1 path: Assets/Scenes/Credits.unity guid: 08e6b38f452419e4480fc1510dc9a2de + - enabled: 1 + path: Assets/Scenes/Lose.unity + guid: d554758d849cd094e9fe7db190ef082e m_configObjects: com.unity.input.settings.actions: {fileID: -944628639613478452, guid: 2bcd2660ca9b64942af0de543d8d7100, type: 3} m_UseUCBPForAssetBundles: 0