From 62f0e8452a10309c40cefc1ab039f9686d33453b Mon Sep 17 00:00:00 2001 From: bas-boop Date: Tue, 9 Jan 2024 14:29:18 +0100 Subject: [PATCH 1/2] Started on 2D playermovements --- Assets/Scenes/PlayerMovement.meta | 8 + Assets/Scenes/PlayerMovement/SideView2D.unity | 559 ++++++++++++++++++ .../PlayerMovement/SideView2D.unity.meta | 7 + Assets/Scenes/PlayerMovement/TopDown2D.unity | 559 ++++++++++++++++++ .../PlayerMovement/TopDown2D.unity.meta | 7 + Assets/Scripts/Features/PlayerMovement.meta | 8 + .../Scripts/Features/PlayerMovement/2D.meta | 8 + .../2D/PlayerMovementSideView.cs | 25 + .../2D/PlayerMovementSideView.cs.meta | 3 + .../2D/PlayerMovementTopDown.cs | 22 + .../2D/PlayerMovementTopDown.cs.meta | 3 + .../Scripts/Features/PlayerMovement/3D.meta | 8 + .../Features/PlayerMovement/InputParser.cs | 23 + .../PlayerMovement/InputParser.cs.meta | 11 + .../Features/PlayerMovement/PlayerMovement.cs | 31 + .../PlayerMovement/PlayerMovement.cs.meta | 3 + 16 files changed, 1285 insertions(+) create mode 100644 Assets/Scenes/PlayerMovement.meta create mode 100644 Assets/Scenes/PlayerMovement/SideView2D.unity create mode 100644 Assets/Scenes/PlayerMovement/SideView2D.unity.meta create mode 100644 Assets/Scenes/PlayerMovement/TopDown2D.unity create mode 100644 Assets/Scenes/PlayerMovement/TopDown2D.unity.meta create mode 100644 Assets/Scripts/Features/PlayerMovement.meta create mode 100644 Assets/Scripts/Features/PlayerMovement/2D.meta create mode 100644 Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementSideView.cs create mode 100644 Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementSideView.cs.meta create mode 100644 Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementTopDown.cs create mode 100644 Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementTopDown.cs.meta create mode 100644 Assets/Scripts/Features/PlayerMovement/3D.meta create mode 100644 Assets/Scripts/Features/PlayerMovement/InputParser.cs create mode 100644 Assets/Scripts/Features/PlayerMovement/InputParser.cs.meta create mode 100644 Assets/Scripts/Features/PlayerMovement/PlayerMovement.cs create mode 100644 Assets/Scripts/Features/PlayerMovement/PlayerMovement.cs.meta diff --git a/Assets/Scenes/PlayerMovement.meta b/Assets/Scenes/PlayerMovement.meta new file mode 100644 index 0000000..f8c99ac --- /dev/null +++ b/Assets/Scenes/PlayerMovement.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 93ec8cc021c18494a9a50d82e7cd413f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/PlayerMovement/SideView2D.unity b/Assets/Scenes/PlayerMovement/SideView2D.unity new file mode 100644 index 0000000..ae0e360 --- /dev/null +++ b/Assets/Scenes/PlayerMovement/SideView2D.unity @@ -0,0 +1,559 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.37311953, g: 0.38074014, b: 0.3587274, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &63342822 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 63342825} + - component: {fileID: 63342824} + - component: {fileID: 63342823} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &63342823 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 63342822} + m_Enabled: 1 +--- !u!20 &63342824 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 63342822} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &63342825 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 63342822} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1224749173 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1224749177} + - component: {fileID: 1224749176} + - component: {fileID: 1224749179} + - component: {fileID: 1224749175} + - component: {fileID: 1224749180} + - component: {fileID: 1224749174} + - component: {fileID: 1224749178} + m_Layer: 0 + m_Name: Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!58 &1224749174 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1224749173} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + serializedVersion: 2 + m_Radius: 0.5 +--- !u!114 &1224749175 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1224749173} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 057f2e576d4785c4dbeaf96ea8dfc42f, type: 3} + m_Name: + m_EditorClassIdentifier: + is3D: 0 + lineOrSphere: 0 + offSetOrTransform: 0 + groundLayer: + serializedVersion: 2 + m_Bits: 8 + rayCastLength: 1 + sphereCastRadius: 0.5 + offSet2D: {x: 0, y: -0.25} + offSet3D: {x: 0, y: 0, z: 0} + groundCheckerTransform: {fileID: 0} + isGrounded: 0 + gizmos: 1 + gizmosColor: {r: 0, g: 1, b: 1, a: 1} + onGroundEnter: + m_PersistentCalls: + m_Calls: [] + onGroundLeave: + m_PersistentCalls: + m_Calls: [] +--- !u!212 &1224749176 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1224749173} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: -2413806693520163455, guid: a86470a33a6bf42c4b3595704624658b, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1224749177 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1224749173} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!50 &1224749178 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1224749173} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 4 +--- !u!114 &1224749179 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1224749173} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e7fb8ebe5e7e4520a94aeaaae0e19a2d, type: 3} + m_Name: + m_EditorClassIdentifier: + useDeadZone: 0 + useJump: 0 + useAccelerate: 0 + useDecelerate: 0 +--- !u!114 &1224749180 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1224749173} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ab6fa0cd99c10c840bd1b75beb470a9e, type: 3} + m_Name: + m_EditorClassIdentifier: + playerMovement: {fileID: 1224749179} +--- !u!1 &1993370387 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1993370390} + - component: {fileID: 1993370389} + - component: {fileID: 1993370388} + m_Layer: 3 + m_Name: Ground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!61 &1993370388 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1993370387} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1, y: 1} + newSize: {x: 1, y: 1} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 1, y: 1} + m_EdgeRadius: 0 +--- !u!212 &1993370389 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1993370387} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1993370390 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1993370387} + 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} diff --git a/Assets/Scenes/PlayerMovement/SideView2D.unity.meta b/Assets/Scenes/PlayerMovement/SideView2D.unity.meta new file mode 100644 index 0000000..e406e86 --- /dev/null +++ b/Assets/Scenes/PlayerMovement/SideView2D.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5c38d371d9b97ee469f2e0be2f8aa7fe +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/PlayerMovement/TopDown2D.unity b/Assets/Scenes/PlayerMovement/TopDown2D.unity new file mode 100644 index 0000000..9cf2536 --- /dev/null +++ b/Assets/Scenes/PlayerMovement/TopDown2D.unity @@ -0,0 +1,559 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.37311953, g: 0.38074014, b: 0.3587274, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &63342822 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 63342825} + - component: {fileID: 63342824} + - component: {fileID: 63342823} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &63342823 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 63342822} + m_Enabled: 1 +--- !u!20 &63342824 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 63342822} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &63342825 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 63342822} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1224749173 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1224749177} + - component: {fileID: 1224749176} + - component: {fileID: 1224749179} + - component: {fileID: 1224749175} + - component: {fileID: 1224749180} + - component: {fileID: 1224749174} + - component: {fileID: 1224749178} + m_Layer: 0 + m_Name: Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!58 &1224749174 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1224749173} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + serializedVersion: 2 + m_Radius: 0.5 +--- !u!114 &1224749175 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1224749173} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 057f2e576d4785c4dbeaf96ea8dfc42f, type: 3} + m_Name: + m_EditorClassIdentifier: + is3D: 0 + lineOrSphere: 0 + offSetOrTransform: 0 + groundLayer: + serializedVersion: 2 + m_Bits: 8 + rayCastLength: 1 + sphereCastRadius: 0.5 + offSet2D: {x: 0, y: 0} + offSet3D: {x: 0, y: 0, z: 0} + groundCheckerTransform: {fileID: 0} + isGrounded: 0 + gizmos: 0 + gizmosColor: {r: 0, g: 1, b: 1, a: 1} + onGroundEnter: + m_PersistentCalls: + m_Calls: [] + onGroundLeave: + m_PersistentCalls: + m_Calls: [] +--- !u!212 &1224749176 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1224749173} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: -2413806693520163455, guid: a86470a33a6bf42c4b3595704624658b, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1224749177 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1224749173} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!50 &1224749178 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1224749173} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 0 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 4 +--- !u!114 &1224749179 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1224749173} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 233a327e320343f584c81e0f9b849c11, type: 3} + m_Name: + m_EditorClassIdentifier: + useDeadZone: 0 + useJump: 0 + useAccelerate: 0 + useDecelerate: 0 +--- !u!114 &1224749180 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1224749173} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ab6fa0cd99c10c840bd1b75beb470a9e, type: 3} + m_Name: + m_EditorClassIdentifier: + playerMovement: {fileID: 1224749179} +--- !u!1 &1993370387 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1993370390} + - component: {fileID: 1993370389} + - component: {fileID: 1993370388} + m_Layer: 3 + m_Name: Ground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!61 &1993370388 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1993370387} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1, y: 1} + newSize: {x: 1, y: 1} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 1, y: 1} + m_EdgeRadius: 0 +--- !u!212 &1993370389 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1993370387} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1993370390 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1993370387} + 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} diff --git a/Assets/Scenes/PlayerMovement/TopDown2D.unity.meta b/Assets/Scenes/PlayerMovement/TopDown2D.unity.meta new file mode 100644 index 0000000..ebf2595 --- /dev/null +++ b/Assets/Scenes/PlayerMovement/TopDown2D.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7a1431b1626b7f941b423fbd552fcb97 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Features/PlayerMovement.meta b/Assets/Scripts/Features/PlayerMovement.meta new file mode 100644 index 0000000..c5beb35 --- /dev/null +++ b/Assets/Scripts/Features/PlayerMovement.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5e5829a7b53dbd2439038f5f0f3e9543 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Features/PlayerMovement/2D.meta b/Assets/Scripts/Features/PlayerMovement/2D.meta new file mode 100644 index 0000000..b129695 --- /dev/null +++ b/Assets/Scripts/Features/PlayerMovement/2D.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ea415535a809dbe48b18b0b486ea6377 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementSideView.cs b/Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementSideView.cs new file mode 100644 index 0000000..b8f4f31 --- /dev/null +++ b/Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementSideView.cs @@ -0,0 +1,25 @@ +using Baz_geluk9.Feature_vault.Extensions; +using UnityEngine; + +namespace Baz_geluk9.Feature_vault.Feature.PlayerMovement +{ + [RequireComponent(typeof(Rigidbody2D))] + public sealed class PlayerMovementSideView : PlayerMovement + { + private Rigidbody2D _rigidbody; + + private void Awake() => _rigidbody = GetComponent(); + + public override void Jump() + { + + } + + protected override void Move() + { + Vector2 target = _rigidbody.velocity; + target.SetX(p_moveInput.x); + _rigidbody.velocity = target; + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementSideView.cs.meta b/Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementSideView.cs.meta new file mode 100644 index 0000000..b9162a2 --- /dev/null +++ b/Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementSideView.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e7fb8ebe5e7e4520a94aeaaae0e19a2d +timeCreated: 1704801986 \ No newline at end of file diff --git a/Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementTopDown.cs b/Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementTopDown.cs new file mode 100644 index 0000000..1c6f9aa --- /dev/null +++ b/Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementTopDown.cs @@ -0,0 +1,22 @@ +using UnityEngine; + +namespace Baz_geluk9.Feature_vault.Feature.PlayerMovement +{ + [RequireComponent(typeof(Rigidbody2D))] + public sealed class PlayerMovementTopDown : PlayerMovement + { + private Rigidbody2D _rigidbody; + + private void Awake() => _rigidbody = GetComponent(); + + public override void Jump() + { + + } + + protected override void Move() + { + _rigidbody.velocity = p_moveInput; + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementTopDown.cs.meta b/Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementTopDown.cs.meta new file mode 100644 index 0000000..a14c3b6 --- /dev/null +++ b/Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementTopDown.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 233a327e320343f584c81e0f9b849c11 +timeCreated: 1703282495 \ No newline at end of file diff --git a/Assets/Scripts/Features/PlayerMovement/3D.meta b/Assets/Scripts/Features/PlayerMovement/3D.meta new file mode 100644 index 0000000..b03bfa9 --- /dev/null +++ b/Assets/Scripts/Features/PlayerMovement/3D.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 86f251cea820d1c49b27dbf38bb99fb1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Features/PlayerMovement/InputParser.cs b/Assets/Scripts/Features/PlayerMovement/InputParser.cs new file mode 100644 index 0000000..aff82f9 --- /dev/null +++ b/Assets/Scripts/Features/PlayerMovement/InputParser.cs @@ -0,0 +1,23 @@ +using UnityEngine; + +namespace Baz_geluk9.Feature_vault.Feature.PlayerMovement +{ + public sealed class InputParser : MonoBehaviour + { + [SerializeField] private PlayerMovement playerMovement; + + private const string HORIZONTAL = "Horizontal"; + private const string VERTICAL = "Vertical"; + + private void Update() + { + float x = Input.GetAxisRaw(HORIZONTAL); + float y = Input.GetAxisRaw(VERTICAL); + + playerMovement.SetMoveInput(new Vector2(x,y)); + + if (Input.GetButtonDown("Jump")) + playerMovement.Jump(); + } + } +} diff --git a/Assets/Scripts/Features/PlayerMovement/InputParser.cs.meta b/Assets/Scripts/Features/PlayerMovement/InputParser.cs.meta new file mode 100644 index 0000000..c910701 --- /dev/null +++ b/Assets/Scripts/Features/PlayerMovement/InputParser.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ab6fa0cd99c10c840bd1b75beb470a9e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Features/PlayerMovement/PlayerMovement.cs b/Assets/Scripts/Features/PlayerMovement/PlayerMovement.cs new file mode 100644 index 0000000..c3ba227 --- /dev/null +++ b/Assets/Scripts/Features/PlayerMovement/PlayerMovement.cs @@ -0,0 +1,31 @@ +using UnityEngine; + +namespace Baz_geluk9.Feature_vault.Feature.PlayerMovement +{ + public abstract class PlayerMovement : MonoBehaviour + { + [Header("Usage")] + [SerializeField] private bool useDeadZone; + [SerializeField] private bool useJump; + [SerializeField] private bool useAccelerate; + [SerializeField] private bool useDecelerate; + + protected Vector2 p_moveInput; + + private bool _canMove = true; + + private void FixedUpdate() + { + if (_canMove) + Move(); + } + + public void SetMoveInput(Vector2 input) + { + p_moveInput = input; + } + + public abstract void Jump(); + protected abstract void Move(); + } +} \ No newline at end of file diff --git a/Assets/Scripts/Features/PlayerMovement/PlayerMovement.cs.meta b/Assets/Scripts/Features/PlayerMovement/PlayerMovement.cs.meta new file mode 100644 index 0000000..0669ed4 --- /dev/null +++ b/Assets/Scripts/Features/PlayerMovement/PlayerMovement.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 27ae3ac3698540cb914a7f85a0dd6ab7 +timeCreated: 1703282406 \ No newline at end of file From 0c9d28345a9c9c9359c1b44590bf2197704f1887 Mon Sep 17 00:00:00 2001 From: bas-boop Date: Wed, 10 Jan 2024 20:56:30 +0100 Subject: [PATCH 2/2] Added deadzone & walkingSpeed --- Assets/Scenes/PlayerMovement/SideView2D.unity | 8 ++-- Assets/Scenes/PlayerMovement/TopDown2D.unity | 1 + .../2D/PlayerMovementSideView.cs | 7 +++- .../2D/PlayerMovementTopDown.cs | 11 ++--- .../Features/PlayerMovement/PlayerMovement.cs | 41 +++++++++++++++---- 5 files changed, 49 insertions(+), 19 deletions(-) diff --git a/Assets/Scenes/PlayerMovement/SideView2D.unity b/Assets/Scenes/PlayerMovement/SideView2D.unity index ae0e360..9f58b6a 100644 --- a/Assets/Scenes/PlayerMovement/SideView2D.unity +++ b/Assets/Scenes/PlayerMovement/SideView2D.unity @@ -410,10 +410,12 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: e7fb8ebe5e7e4520a94aeaaae0e19a2d, type: 3} m_Name: m_EditorClassIdentifier: - useDeadZone: 0 - useJump: 0 + useDeadZone: 1 + useJump: 1 useAccelerate: 0 useDecelerate: 0 + deadZone: 0.2 + p_walkingSpeed: 5 --- !u!114 &1224749180 MonoBehaviour: m_ObjectHideFlags: 0 @@ -551,7 +553,7 @@ Transform: m_GameObject: {fileID: 1993370387} 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_LocalScale: {x: 10, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} diff --git a/Assets/Scenes/PlayerMovement/TopDown2D.unity b/Assets/Scenes/PlayerMovement/TopDown2D.unity index 9cf2536..1d42be7 100644 --- a/Assets/Scenes/PlayerMovement/TopDown2D.unity +++ b/Assets/Scenes/PlayerMovement/TopDown2D.unity @@ -414,6 +414,7 @@ MonoBehaviour: useJump: 0 useAccelerate: 0 useDecelerate: 0 + p_walkingSpeed: 5 --- !u!114 &1224749180 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementSideView.cs b/Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementSideView.cs index b8f4f31..7257f27 100644 --- a/Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementSideView.cs +++ b/Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementSideView.cs @@ -12,13 +12,16 @@ public sealed class PlayerMovementSideView : PlayerMovement public override void Jump() { + if(!useJump) + return; + _rigidbody.AddForce(new Vector2(0, 10)); } - protected override void Move() + protected override void Walk() { Vector2 target = _rigidbody.velocity; - target.SetX(p_moveInput.x); + target.SetX(p_moveInput.x * p_walkingSpeed); _rigidbody.velocity = target; } } diff --git a/Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementTopDown.cs b/Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementTopDown.cs index 1c6f9aa..d09069f 100644 --- a/Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementTopDown.cs +++ b/Assets/Scripts/Features/PlayerMovement/2D/PlayerMovementTopDown.cs @@ -8,15 +8,12 @@ public sealed class PlayerMovementTopDown : PlayerMovement private Rigidbody2D _rigidbody; private void Awake() => _rigidbody = GetComponent(); - - public override void Jump() - { - - } - protected override void Move() + public override void Jump() { } + + protected override void Walk() { - _rigidbody.velocity = p_moveInput; + _rigidbody.velocity = p_moveInput * p_walkingSpeed; } } } \ No newline at end of file diff --git a/Assets/Scripts/Features/PlayerMovement/PlayerMovement.cs b/Assets/Scripts/Features/PlayerMovement/PlayerMovement.cs index c3ba227..193592e 100644 --- a/Assets/Scripts/Features/PlayerMovement/PlayerMovement.cs +++ b/Assets/Scripts/Features/PlayerMovement/PlayerMovement.cs @@ -1,31 +1,58 @@ +using System; +using Baz_geluk9.Feature_vault.Extensions; using UnityEngine; namespace Baz_geluk9.Feature_vault.Feature.PlayerMovement { public abstract class PlayerMovement : MonoBehaviour { + //todo: all setting's should be in a scriptable object [Header("Usage")] [SerializeField] private bool useDeadZone; - [SerializeField] private bool useJump; + [SerializeField] protected bool useJump; [SerializeField] private bool useAccelerate; [SerializeField] private bool useDecelerate; - protected Vector2 p_moveInput; + [Header("Settings")] + [SerializeField, Range(0, 1)] private float deadZone; + + [Header("Attributes")] + [SerializeField, Range(1, 25)] protected float p_walkingSpeed; - private bool _canMove = true; + protected Vector2 p_moveInput; + + public bool CanMove { get; private set; } = true; private void FixedUpdate() { - if (_canMove) - Move(); + if (CanMove) + Walk(); } public void SetMoveInput(Vector2 input) { - p_moveInput = input; + Vector2 targetInput = input; + + if (useDeadZone) + targetInput = SetMoveInputWithDeadZone(targetInput); + + p_moveInput = targetInput; } public abstract void Jump(); - protected abstract void Move(); + protected abstract void Walk(); + + private Vector2 SetMoveInputWithDeadZone(Vector2 input) + { + input.x = Mathf.Abs(input.x) < deadZone + ? 0 + : Mathf.Sign(input.x); + + input.y = Mathf.Abs(input.y) < deadZone + ? 0 + : Mathf.Sign(input.y); + + return input; + } } } \ No newline at end of file