From ea1527f3b3ae1a6ef046928d934d0773ba8a6c91 Mon Sep 17 00:00:00 2001 From: Nico Date: Mon, 30 Jun 2025 21:52:00 -0700 Subject: [PATCH] Add new melee skill sprite, animate it, and coded up trigger with left click --- Assets/Art/Animations.meta | 8 + Assets/Art/Animations/AnimationSandbox.unity | 505 ++++++++++++++++++ .../Animations/AnimationSandbox.unity.meta | 7 + Assets/Art/Animations/Bobble.anim | 321 +++++++++++ Assets/Art/Animations/Bobble.anim.meta | 8 + Assets/Art/Animations/Player.meta | 8 + .../Player}/AC_Player.controller | 43 +- .../Player}/AC_Player.controller.meta | 0 .../Player}/Anim_Player_IdleDown.anim | 0 .../Player}/Anim_Player_IdleDown.anim.meta | 0 .../Player}/Anim_Player_IdleRight.anim | 0 .../Player}/Anim_Player_IdleRight.anim.meta | 0 .../Player}/Anim_Player_MoveDown.anim | 0 .../Player}/Anim_Player_MoveDown.anim.meta | 0 .../Player}/Anim_Player_MoveRight.anim | 0 .../Player}/Anim_Player_MoveRight.anim.meta | 0 Assets/Art/Animations/Player/Melee.meta | 8 + .../Animations/Player/Melee/BladeVortex.anim | 292 ++++++++++ .../Player/Melee/BladeVortex.anim.meta | 8 + .../Player/Melee/MeleeController.controller | 72 +++ .../Melee/MeleeController.controller.meta | 8 + .../MeleeSkills/SpriteMeleeSkills.png.meta | 92 ++-- Assets/Scenes/HomeTown.unity | 9 +- .../Player/PlayerMainController.cs | 61 +-- .../Runtime/Characters/Player/Classes.meta | 8 + .../Characters/Player/Classes/ClassBase.cs | 30 ++ .../Player/Classes/ClassBase.cs.meta | 2 + .../Player/Classes/MeleeFighterClass.cs | 26 + .../Player/Classes/MeleeFighterClass.cs.meta | 2 + 29 files changed, 1417 insertions(+), 101 deletions(-) create mode 100644 Assets/Art/Animations.meta create mode 100644 Assets/Art/Animations/AnimationSandbox.unity create mode 100644 Assets/Art/Animations/AnimationSandbox.unity.meta create mode 100644 Assets/Art/Animations/Bobble.anim create mode 100644 Assets/Art/Animations/Bobble.anim.meta create mode 100644 Assets/Art/Animations/Player.meta rename Assets/Art/{Sprites/DefaultCharacter => Animations/Player}/AC_Player.controller (72%) rename Assets/Art/{Sprites/DefaultCharacter => Animations/Player}/AC_Player.controller.meta (100%) rename Assets/Art/{Sprites/DefaultCharacter => Animations/Player}/Anim_Player_IdleDown.anim (100%) rename Assets/Art/{Sprites/DefaultCharacter => Animations/Player}/Anim_Player_IdleDown.anim.meta (100%) rename Assets/Art/{Sprites/DefaultCharacter => Animations/Player}/Anim_Player_IdleRight.anim (100%) rename Assets/Art/{Sprites/DefaultCharacter => Animations/Player}/Anim_Player_IdleRight.anim.meta (100%) rename Assets/Art/{Sprites/DefaultCharacter => Animations/Player}/Anim_Player_MoveDown.anim (100%) rename Assets/Art/{Sprites/DefaultCharacter => Animations/Player}/Anim_Player_MoveDown.anim.meta (100%) rename Assets/Art/{Sprites/DefaultCharacter => Animations/Player}/Anim_Player_MoveRight.anim (100%) rename Assets/Art/{Sprites/DefaultCharacter => Animations/Player}/Anim_Player_MoveRight.anim.meta (100%) create mode 100644 Assets/Art/Animations/Player/Melee.meta create mode 100644 Assets/Art/Animations/Player/Melee/BladeVortex.anim create mode 100644 Assets/Art/Animations/Player/Melee/BladeVortex.anim.meta create mode 100644 Assets/Art/Animations/Player/Melee/MeleeController.controller create mode 100644 Assets/Art/Animations/Player/Melee/MeleeController.controller.meta create mode 100644 Assets/Scripts/Runtime/Characters/Player/Classes.meta create mode 100644 Assets/Scripts/Runtime/Characters/Player/Classes/ClassBase.cs create mode 100644 Assets/Scripts/Runtime/Characters/Player/Classes/ClassBase.cs.meta create mode 100644 Assets/Scripts/Runtime/Characters/Player/Classes/MeleeFighterClass.cs create mode 100644 Assets/Scripts/Runtime/Characters/Player/Classes/MeleeFighterClass.cs.meta diff --git a/Assets/Art/Animations.meta b/Assets/Art/Animations.meta new file mode 100644 index 0000000..159b07a --- /dev/null +++ b/Assets/Art/Animations.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c359fefbecc609b4fa21c2834cc6e780 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Animations/AnimationSandbox.unity b/Assets/Art/Animations/AnimationSandbox.unity new file mode 100644 index 0000000..8bb2956 --- /dev/null +++ b/Assets/Art/Animations/AnimationSandbox.unity @@ -0,0 +1,505 @@ +%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: 10 + 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: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 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_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_BakeOnSceneLoad: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + 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_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: 1 + m_PVRFilteringGaussRadiusAO: 1 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 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 &328625340 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 328625343} + - component: {fileID: 328625342} + - component: {fileID: 328625341} + m_Layer: 0 + m_Name: MeleeController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &328625341 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 328625340} + 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_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: 960018930, guid: 3205cf3222828a245b372325ae19857a, 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, y: 2} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!95 &328625342 +Animator: + serializedVersion: 7 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 328625340} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: aa429502d7088e4498bf43b32fa57941, 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!4 &328625343 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 328625340} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.061, y: -0.084, 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 &770958917 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 770958919} + - component: {fileID: 770958918} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &770958918 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 770958917} + 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_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: 0} + 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: 0 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &770958919 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 770958917} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.29236, y: -0.30581, 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 &1568434226 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1568434229} + - component: {fileID: 1568434228} + - component: {fileID: 1568434227} + 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 &1568434227 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1568434226} + m_Enabled: 1 +--- !u!20 &1568434228 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1568434226} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + 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: 1 + 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 &1568434229 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1568434226} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + 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 &1598453988 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1598453990} + - component: {fileID: 1598453989} + m_Layer: 0 + m_Name: Circle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &1598453989 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1598453988} + 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_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: -1 + 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 &1598453990 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1598453988} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.012, y: -0.661, z: 0} + m_LocalScale: {x: 1, y: 0.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 1568434229} + - {fileID: 1598453990} + - {fileID: 328625343} + - {fileID: 770958919} diff --git a/Assets/Art/Animations/AnimationSandbox.unity.meta b/Assets/Art/Animations/AnimationSandbox.unity.meta new file mode 100644 index 0000000..47c928e --- /dev/null +++ b/Assets/Art/Animations/AnimationSandbox.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6449dc62269c4494db8b2fddfeb47b31 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Animations/Bobble.anim b/Assets/Art/Animations/Bobble.anim new file mode 100644 index 0000000..16317ae --- /dev/null +++ b/Assets/Art/Animations/Bobble.anim @@ -0,0 +1,321 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Bobble + serializedVersion: 7 + m_Legacy: 1 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.2 + value: {x: 0, y: 0.015572754, z: 0} + inSlope: {x: 0, y: 0.25483456, z: 0} + outSlope: {x: 0, y: 0.25483456, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.41666666 + value: {x: 0, y: 0.10228437, z: 0} + inSlope: {x: 0, y: 0.3947592, z: 0} + outSlope: {x: 0, y: 0.3947592, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: 0, y: 0.1283131, z: 0} + inSlope: {x: 0, y: 0.20761947, z: 0} + outSlope: {x: 0, y: 0.20761947, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.42225873, z: 0.33333334} + - serializedVersion: 3 + time: 0.5833333 + value: {x: 0, y: 0.14025, z: 0} + inSlope: {x: 0, y: 0.083868586, z: 0} + outSlope: {x: 0, y: 0.083868586, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.85 + value: {x: 0, y: 0.12987658, z: 0} + inSlope: {x: 0, y: -0.11044701, z: 0} + outSlope: {x: 0, y: -0.11044701, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.4530599, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 1 + value: {x: 0, y: 0.09029832, z: 0} + inSlope: {x: 0, y: -0.36953446, z: 0} + outSlope: {x: 0, y: -0.36953446, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 1.2166667 + value: {x: 0, y: 0.013672401, z: 0} + inSlope: {x: 0, y: -0.23819895, z: 0} + outSlope: {x: 0, y: -0.23819895, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 1.3833333 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0.006638917, z: 0} + outSlope: {x: 0, y: 0.006638917, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.61220574, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: [] + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1.3833333 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.41666666 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5833333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.2 + value: 0.015572754 + inSlope: 0.25483456 + outSlope: 0.25483456 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0.1283131 + inSlope: 0.20761947 + outSlope: 0.20761947 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.42225873 + - serializedVersion: 3 + time: 0.85 + value: 0.12987658 + inSlope: -0.11044701 + outSlope: -0.11044701 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.4530599 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.2166667 + value: 0.013672401 + inSlope: -0.23819895 + outSlope: -0.23819895 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.3833333 + value: 0 + inSlope: 0.006638917 + outSlope: 0.006638917 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.61220574 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.41666666 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5833333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Art/Animations/Bobble.anim.meta b/Assets/Art/Animations/Bobble.anim.meta new file mode 100644 index 0000000..35995b0 --- /dev/null +++ b/Assets/Art/Animations/Bobble.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e259fef8aeaf1f24ba2cb1403e0a320a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Animations/Player.meta b/Assets/Art/Animations/Player.meta new file mode 100644 index 0000000..a6eed0d --- /dev/null +++ b/Assets/Art/Animations/Player.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 17ef7331a0f5e39408cf21edc21fb317 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Sprites/DefaultCharacter/AC_Player.controller b/Assets/Art/Animations/Player/AC_Player.controller similarity index 72% rename from Assets/Art/Sprites/DefaultCharacter/AC_Player.controller rename to Assets/Art/Animations/Player/AC_Player.controller index 869fe34..fc20cb0 100644 --- a/Assets/Art/Sprites/DefaultCharacter/AC_Player.controller +++ b/Assets/Art/Animations/Player/AC_Player.controller @@ -11,10 +11,13 @@ AnimatorStateMachine: m_ChildStates: - serializedVersion: 1 m_State: {fileID: 426130285270630818} - m_Position: {x: 290, y: 180, z: 0} + m_Position: {x: 290, y: 170, z: 0} - serializedVersion: 1 m_State: {fileID: -6986026729793894431} - m_Position: {x: 379.6667, y: 145, z: 0} + m_Position: {x: 290, y: 100, z: 0} + - serializedVersion: 1 + m_State: {fileID: 702953099919513969} + m_Position: {x: 530, y: 50, z: 0} m_ChildStateMachines: [] m_AnyStateTransitions: [] m_EntryTransitions: [] @@ -59,7 +62,13 @@ AnimatorController: m_PrefabAsset: {fileID: 0} m_Name: AC_Player serializedVersion: 5 - m_AnimatorParameters: [] + m_AnimatorParameters: + - m_Name: SkillActive + m_Type: 4 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 9100000} m_AnimatorLayers: - serializedVersion: 5 m_Name: Base Layer @@ -81,7 +90,7 @@ AnimatorState: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Anim_Player_IdleRight - m_Speed: 0 + m_Speed: 1 m_CycleOffset: 0 m_Transitions: [] m_StateMachineBehaviours: [] @@ -99,3 +108,29 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1102 &702953099919513969 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: BladeVortex + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 15a98a1a549124e4d892c8e162316795, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: diff --git a/Assets/Art/Sprites/DefaultCharacter/AC_Player.controller.meta b/Assets/Art/Animations/Player/AC_Player.controller.meta similarity index 100% rename from Assets/Art/Sprites/DefaultCharacter/AC_Player.controller.meta rename to Assets/Art/Animations/Player/AC_Player.controller.meta diff --git a/Assets/Art/Sprites/DefaultCharacter/Anim_Player_IdleDown.anim b/Assets/Art/Animations/Player/Anim_Player_IdleDown.anim similarity index 100% rename from Assets/Art/Sprites/DefaultCharacter/Anim_Player_IdleDown.anim rename to Assets/Art/Animations/Player/Anim_Player_IdleDown.anim diff --git a/Assets/Art/Sprites/DefaultCharacter/Anim_Player_IdleDown.anim.meta b/Assets/Art/Animations/Player/Anim_Player_IdleDown.anim.meta similarity index 100% rename from Assets/Art/Sprites/DefaultCharacter/Anim_Player_IdleDown.anim.meta rename to Assets/Art/Animations/Player/Anim_Player_IdleDown.anim.meta diff --git a/Assets/Art/Sprites/DefaultCharacter/Anim_Player_IdleRight.anim b/Assets/Art/Animations/Player/Anim_Player_IdleRight.anim similarity index 100% rename from Assets/Art/Sprites/DefaultCharacter/Anim_Player_IdleRight.anim rename to Assets/Art/Animations/Player/Anim_Player_IdleRight.anim diff --git a/Assets/Art/Sprites/DefaultCharacter/Anim_Player_IdleRight.anim.meta b/Assets/Art/Animations/Player/Anim_Player_IdleRight.anim.meta similarity index 100% rename from Assets/Art/Sprites/DefaultCharacter/Anim_Player_IdleRight.anim.meta rename to Assets/Art/Animations/Player/Anim_Player_IdleRight.anim.meta diff --git a/Assets/Art/Sprites/DefaultCharacter/Anim_Player_MoveDown.anim b/Assets/Art/Animations/Player/Anim_Player_MoveDown.anim similarity index 100% rename from Assets/Art/Sprites/DefaultCharacter/Anim_Player_MoveDown.anim rename to Assets/Art/Animations/Player/Anim_Player_MoveDown.anim diff --git a/Assets/Art/Sprites/DefaultCharacter/Anim_Player_MoveDown.anim.meta b/Assets/Art/Animations/Player/Anim_Player_MoveDown.anim.meta similarity index 100% rename from Assets/Art/Sprites/DefaultCharacter/Anim_Player_MoveDown.anim.meta rename to Assets/Art/Animations/Player/Anim_Player_MoveDown.anim.meta diff --git a/Assets/Art/Sprites/DefaultCharacter/Anim_Player_MoveRight.anim b/Assets/Art/Animations/Player/Anim_Player_MoveRight.anim similarity index 100% rename from Assets/Art/Sprites/DefaultCharacter/Anim_Player_MoveRight.anim rename to Assets/Art/Animations/Player/Anim_Player_MoveRight.anim diff --git a/Assets/Art/Sprites/DefaultCharacter/Anim_Player_MoveRight.anim.meta b/Assets/Art/Animations/Player/Anim_Player_MoveRight.anim.meta similarity index 100% rename from Assets/Art/Sprites/DefaultCharacter/Anim_Player_MoveRight.anim.meta rename to Assets/Art/Animations/Player/Anim_Player_MoveRight.anim.meta diff --git a/Assets/Art/Animations/Player/Melee.meta b/Assets/Art/Animations/Player/Melee.meta new file mode 100644 index 0000000..a7ce19d --- /dev/null +++ b/Assets/Art/Animations/Player/Melee.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 22c0ce3d139f23a469a457c070caa1f9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Animations/Player/Melee/BladeVortex.anim b/Assets/Art/Animations/Player/Melee/BladeVortex.anim new file mode 100644 index 0000000..8032f7e --- /dev/null +++ b/Assets/Art/Animations/Player/Melee/BladeVortex.anim @@ -0,0 +1,292 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: BladeVortex + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: -0.1, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.083333336 + value: {x: 0.2, y: 0, z: 0} + inSlope: {x: 0, y: 1.3333333, z: 0} + outSlope: {x: 0, y: 1.3333333, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.15 + value: {x: 0, y: 0.1, z: 0} + inSlope: {x: -2.966223, y: 0, z: 0} + outSlope: {x: -2.966223, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.21666667 + value: {x: -0.19549635, y: 0, z: 0} + inSlope: {x: 0, y: -1.5000001, z: 0} + outSlope: {x: 0, y: -1.5000001, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.28333336 + value: {x: 0, y: -0.1, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: + - serializedVersion: 2 + curve: + - time: 0 + value: {fileID: -462584412, guid: 3205cf3222828a245b372325ae19857a, type: 3} + - time: 0.033333335 + value: {fileID: -844053579, guid: 3205cf3222828a245b372325ae19857a, type: 3} + - time: 0.06666667 + value: {fileID: -574612343, guid: 3205cf3222828a245b372325ae19857a, type: 3} + - time: 0.1 + value: {fileID: -507776183, guid: 3205cf3222828a245b372325ae19857a, type: 3} + - time: 0.13333334 + value: {fileID: 213537612, guid: 3205cf3222828a245b372325ae19857a, type: 3} + - time: 0.16666667 + value: {fileID: -1181431167, guid: 3205cf3222828a245b372325ae19857a, type: 3} + - time: 0.2 + value: {fileID: 344855413, guid: 3205cf3222828a245b372325ae19857a, type: 3} + - time: 0.23333333 + value: {fileID: 960018930, guid: 3205cf3222828a245b372325ae19857a, type: 3} + - time: 0.26666668 + value: {fileID: 960018930, guid: 3205cf3222828a245b372325ae19857a, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + flags: 2 + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: + - {fileID: -462584412, guid: 3205cf3222828a245b372325ae19857a, type: 3} + - {fileID: -844053579, guid: 3205cf3222828a245b372325ae19857a, type: 3} + - {fileID: -574612343, guid: 3205cf3222828a245b372325ae19857a, type: 3} + - {fileID: -507776183, guid: 3205cf3222828a245b372325ae19857a, type: 3} + - {fileID: 213537612, guid: 3205cf3222828a245b372325ae19857a, type: 3} + - {fileID: -1181431167, guid: 3205cf3222828a245b372325ae19857a, type: 3} + - {fileID: 344855413, guid: 3205cf3222828a245b372325ae19857a, type: 3} + - {fileID: 960018930, guid: 3205cf3222828a245b372325ae19857a, type: 3} + - {fileID: 960018930, guid: 3205cf3222828a245b372325ae19857a, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.28333336 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: 0.2 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.15 + value: 0 + inSlope: -2.966223 + outSlope: -2.966223 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.21666667 + value: -0.19549635 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.28333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -0.1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: 0 + inSlope: 1.3333333 + outSlope: 1.3333333 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.15 + value: 0.1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.21666667 + value: 0 + inSlope: -1.5000001 + outSlope: -1.5000001 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.28333333 + value: -0.1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Art/Animations/Player/Melee/BladeVortex.anim.meta b/Assets/Art/Animations/Player/Melee/BladeVortex.anim.meta new file mode 100644 index 0000000..43f2f6a --- /dev/null +++ b/Assets/Art/Animations/Player/Melee/BladeVortex.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 15a98a1a549124e4d892c8e162316795 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Animations/Player/Melee/MeleeController.controller b/Assets/Art/Animations/Player/Melee/MeleeController.controller new file mode 100644 index 0000000..6a4ed20 --- /dev/null +++ b/Assets/Art/Animations/Player/Melee/MeleeController.controller @@ -0,0 +1,72 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1107 &-1027547935848546813 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 3646393380537376746} + m_Position: {x: 290, y: 110, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 50, y: 70, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 3646393380537376746} +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: MeleeController + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: -1027547935848546813} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1102 &3646393380537376746 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: BladeVortex + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 15a98a1a549124e4d892c8e162316795, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: diff --git a/Assets/Art/Animations/Player/Melee/MeleeController.controller.meta b/Assets/Art/Animations/Player/Melee/MeleeController.controller.meta new file mode 100644 index 0000000..c8ad6c4 --- /dev/null +++ b/Assets/Art/Animations/Player/Melee/MeleeController.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aa429502d7088e4498bf43b32fa57941 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Sprites/DefaultCharacter/MeleeSkills/SpriteMeleeSkills.png.meta b/Assets/Art/Sprites/DefaultCharacter/MeleeSkills/SpriteMeleeSkills.png.meta index 7d81e19..735b907 100644 --- a/Assets/Art/Sprites/DefaultCharacter/MeleeSkills/SpriteMeleeSkills.png.meta +++ b/Assets/Art/Sprites/DefaultCharacter/MeleeSkills/SpriteMeleeSkills.png.meta @@ -136,7 +136,7 @@ TextureImporter: serializedVersion: 2 sprites: - serializedVersion: 2 - name: spr_alex_1 + name: SpriteMeleeSkills_0 rect: serializedVersion: 2 x: 0 @@ -144,21 +144,21 @@ TextureImporter: width: 32 height: 32 alignment: 0 - pivot: {x: 0.5, y: 0.5} + pivot: {x: 0, y: 0} border: {x: 0, y: 0, z: 0, w: 0} customData: outline: [] physicsShape: [] tessellationDetail: 0 bones: [] - spriteID: 5dfe3083f9b362947844af9fe3189491 - internalID: -1273234557 + spriteID: 388d2b57778eaa3409e1e7aa27e4e529 + internalID: 960018930 vertices: [] indices: edges: [] weights: [] - serializedVersion: 2 - name: spr_alex_2 + name: SpriteMeleeSkills_1 rect: serializedVersion: 2 x: 32 @@ -166,21 +166,21 @@ TextureImporter: width: 32 height: 32 alignment: 0 - pivot: {x: 0.5, y: 0.5} + pivot: {x: 0, y: 0} border: {x: 0, y: 0, z: 0, w: 0} customData: outline: [] physicsShape: [] tessellationDetail: 0 bones: [] - spriteID: f79871f0271565845afeabc7c4221b58 - internalID: -1748019772 + spriteID: 96c5259fdfaf2a448bcd8a66453308a6 + internalID: -462584412 vertices: [] indices: edges: [] weights: [] - serializedVersion: 2 - name: spr_alex_4 + name: SpriteMeleeSkills_2 rect: serializedVersion: 2 x: 0 @@ -188,21 +188,21 @@ TextureImporter: width: 32 height: 32 alignment: 0 - pivot: {x: 0.5, y: 0.5} + pivot: {x: 0, y: 0} border: {x: 0, y: 0, z: 0, w: 0} customData: outline: [] physicsShape: [] tessellationDetail: 0 bones: [] - spriteID: b16973240685eea408c4e26430fa2901 - internalID: 1762955156 + spriteID: 42a49dd398582214f94c74f1bdaf43c2 + internalID: -844053579 vertices: [] indices: edges: [] weights: [] - serializedVersion: 2 - name: spr_alex_6 + name: SpriteMeleeSkills_3 rect: serializedVersion: 2 x: 32 @@ -210,21 +210,21 @@ TextureImporter: width: 32 height: 32 alignment: 0 - pivot: {x: 0.5, y: 0.5} + pivot: {x: 0, y: 0} border: {x: 0, y: 0, z: 0, w: 0} customData: outline: [] physicsShape: [] tessellationDetail: 0 bones: [] - spriteID: a38cc3d2086659b40a7d46e2e176c8ba - internalID: 109238140 + spriteID: b0703362d18f93241a16fa8c6c6cb9cc + internalID: -574612343 vertices: [] indices: edges: [] weights: [] - serializedVersion: 2 - name: spr_alex_8 + name: SpriteMeleeSkills_4 rect: serializedVersion: 2 x: 0 @@ -232,21 +232,21 @@ TextureImporter: width: 32 height: 32 alignment: 0 - pivot: {x: 0.5, y: 0.5} + pivot: {x: 0, y: 0} border: {x: 0, y: 0, z: 0, w: 0} customData: outline: [] physicsShape: [] tessellationDetail: 0 bones: [] - spriteID: a9f66b0ada7195c4a803cf8b775d919b - internalID: -1327193902 + spriteID: e42a446128a23e54eb4aaca5bdd70a29 + internalID: -507776183 vertices: [] indices: edges: [] weights: [] - serializedVersion: 2 - name: spr_alex_10 + name: SpriteMeleeSkills_5 rect: serializedVersion: 2 x: 32 @@ -254,21 +254,21 @@ TextureImporter: width: 32 height: 32 alignment: 0 - pivot: {x: 0.5, y: 0.5} + pivot: {x: 0, y: 0} border: {x: 0, y: 0, z: 0, w: 0} customData: outline: [] physicsShape: [] tessellationDetail: 0 bones: [] - spriteID: 861ebe5e36cab4745a99d82ca2e54f41 - internalID: 1665330856 + spriteID: 1afb3c435478ec44da39b53edee0d219 + internalID: 213537612 vertices: [] indices: edges: [] weights: [] - serializedVersion: 2 - name: spr_alex_12 + name: SpriteMeleeSkills_6 rect: serializedVersion: 2 x: 0 @@ -276,21 +276,21 @@ TextureImporter: width: 32 height: 32 alignment: 0 - pivot: {x: 0.5, y: 0.5} + pivot: {x: 0, y: 0} border: {x: 0, y: 0, z: 0, w: 0} customData: outline: [] physicsShape: [] tessellationDetail: 0 bones: [] - spriteID: 5d100cfb17d9c0641a697b6079247191 - internalID: -1476861926 + spriteID: 26853ccf1bb30654ca317047685a4169 + internalID: -1181431167 vertices: [] indices: edges: [] weights: [] - serializedVersion: 2 - name: spr_alex_14 + name: SpriteMeleeSkills_7 rect: serializedVersion: 2 x: 32 @@ -298,15 +298,15 @@ TextureImporter: width: 32 height: 32 alignment: 0 - pivot: {x: 0.5, y: 0.5} + pivot: {x: 0, y: 0} border: {x: 0, y: 0, z: 0, w: 0} customData: outline: [] physicsShape: [] tessellationDetail: 0 bones: [] - spriteID: 6d36bf95455f94b48ab632af28086dcf - internalID: 283539744 + spriteID: 213e7bbc4dcc49640b6f2f18beb7bac5 + internalID: 344855413 vertices: [] indices: edges: [] @@ -323,24 +323,18 @@ TextureImporter: weights: [] secondaryTextures: [] spriteCustomMetadata: - entries: [] + entries: + - key: SpriteEditor.SliceSettings + value: '{"sliceOnImport":false,"gridCellCount":{"x":1.0,"y":1.0},"gridSpriteSize":{"x":32.0,"y":32.0},"gridSpriteOffset":{"x":0.0,"y":0.0},"gridSpritePadding":{"x":0.0,"y":0.0},"pivot":{"x":0.0,"y":0.0},"autoSlicingMethod":0,"spriteAlignment":0,"slicingType":1,"keepEmptyRects":false,"isAlternate":false}' nameFileIdTable: - spr_alex_0: 1468673379 - spr_alex_1: -1273234557 - spr_alex_10: 1665330856 - spr_alex_11: -324737105 - spr_alex_12: -1476861926 - spr_alex_13: 755900442 - spr_alex_14: 283539744 - spr_alex_15: 1184069848 - spr_alex_2: -1748019772 - spr_alex_3: 1616542386 - spr_alex_4: 1762955156 - spr_alex_5: -85140355 - spr_alex_6: 109238140 - spr_alex_7: 979877696 - spr_alex_8: -1327193902 - spr_alex_9: -2001976186 + SpriteMeleeSkills_0: 960018930 + SpriteMeleeSkills_1: -462584412 + SpriteMeleeSkills_2: -844053579 + SpriteMeleeSkills_3: -574612343 + SpriteMeleeSkills_4: -507776183 + SpriteMeleeSkills_5: 213537612 + SpriteMeleeSkills_6: -1181431167 + SpriteMeleeSkills_7: 344855413 mipmapLimitGroupName: pSDRemoveMatte: 0 userData: diff --git a/Assets/Scenes/HomeTown.unity b/Assets/Scenes/HomeTown.unity index 9432f22..e5978cf 100644 --- a/Assets/Scenes/HomeTown.unity +++ b/Assets/Scenes/HomeTown.unity @@ -590,8 +590,9 @@ Animation: m_GameObject: {fileID: 972432121} m_Enabled: 1 serializedVersion: 4 - m_Animation: {fileID: 0} - m_Animations: [] + m_Animation: {fileID: 7400000, guid: e259fef8aeaf1f24ba2cb1403e0a320a, type: 2} + m_Animations: + - {fileID: 7400000, guid: e259fef8aeaf1f24ba2cb1403e0a320a, type: 2} m_WrapMode: 0 m_PlayAutomatically: 1 m_AnimatePhysics: 0 @@ -65623,11 +65624,11 @@ PrefabInstance: m_Modifications: - target: {fileID: 243343966221896818, guid: 6447e7f877b893f46bc4efe1ebc9fe9e, type: 3} propertyPath: m_LocalPosition.x - value: 1.74 + value: 0.31 objectReference: {fileID: 0} - target: {fileID: 243343966221896818, guid: 6447e7f877b893f46bc4efe1ebc9fe9e, type: 3} propertyPath: m_LocalPosition.y - value: -16.1 + value: -16.31 objectReference: {fileID: 0} - target: {fileID: 243343966221896818, guid: 6447e7f877b893f46bc4efe1ebc9fe9e, type: 3} propertyPath: m_LocalPosition.z diff --git a/Assets/Scriptables/Player/PlayerMainController.cs b/Assets/Scriptables/Player/PlayerMainController.cs index 0a4e0d8..1ed103c 100644 --- a/Assets/Scriptables/Player/PlayerMainController.cs +++ b/Assets/Scriptables/Player/PlayerMainController.cs @@ -15,15 +15,18 @@ public class Player : MonoBehaviour { [Header("Movement")] [SerializeField] private Rigidbody2D RigidBody; - [SerializeField] private Animator Animator; + [SerializeField] public Animator Animator; [SerializeField] private SpriteRenderer Renderer; [Header("Character Class")] [SerializeField] private ParticleSystem Aura; [SerializeField] private GameObject[] ClassIndicators; + private ClassBase ActiveClass; + private MeleeFighterClass FighterClass; + [Header("Movement Attributes")] - [SerializeField] private float MoveSpeed = 8; + [SerializeField] public float MoveSpeed = 8; [SerializeField] private float DashMultiplier = 60; [SerializeField] private float DriftSpeed = 60; [SerializeField] private float DriftFactorial = 0.85f; @@ -32,6 +35,7 @@ public class Player : MonoBehaviour { [SerializeField] private GameObject VfxDash; private VfxHandlerBase VfxDashHandler; + private Vector2 MoveDirection = Vector2.zero; private Directions FaceDir = Directions.Down; @@ -42,12 +46,17 @@ public class Player : MonoBehaviour { private readonly int AnimMoveRight = Animator.StringToHash("Anim_Player_MoveRight"); private readonly int AnimIdleRight = Animator.StringToHash("Anim_Player_IdleRight"); + public bool SkillInUse { + get { return Animator.GetBool("SkillActive"); } + set { Animator.SetBool("SkillActive", value); } + } private enum Directions { Left, Right, Up, Down } void Awake() { Builder = GetComponent(); VfxDashHandler = new VfxHandlerBase(VfxDash, 5, 5); + FighterClass = new MeleeFighterClass(this); SetClass(1); } @@ -72,9 +81,12 @@ public class Player : MonoBehaviour { } else if (Input.GetKeyDown(KeyCode.F4)) { SetClass(3); } + + if (Input.GetMouseButtonDown(0)) ActiveClass.UseSkill1(); } private void Dash(Vector2 direction) { + if (SkillInUse) return; if (Drift > 0.5f) return; isDashing = true; @@ -89,6 +101,7 @@ public class Player : MonoBehaviour { private void SetClass(int classIdx) { Builder.SetBuildMode(classIdx == 3); + ActiveClass = FighterClass; foreach (var (indicator, i) in ClassIndicators.Select((obj, i) => (obj, i))) if (i != classIdx) { @@ -100,7 +113,7 @@ public class Player : MonoBehaviour { } RawImage image = ClassIndicators[classIdx].GetComponent(); - var main = Aura.main; + var main = Aura.main; main.startColor = image.color; } @@ -134,6 +147,7 @@ public class Player : MonoBehaviour { } private void UpdateAnimation() { + if (SkillInUse) return; Renderer.flipX = (FaceDir == Directions.Left); Animator.CrossFade((MoveDirection.sqrMagnitude > 0) ? AnimMoveRight : AnimIdleRight, 0); } @@ -142,45 +156,4 @@ public class Player : MonoBehaviour { void OnDrawGizmos() { } - - - - - - - - - - public List classes; // assign in Inspector - - [HideInInspector] public int maxHealth; - [HideInInspector] public int maxMana; - [HideInInspector] public float attackPower; - [HideInInspector] public List abilities; - - //void Awake() { - // //InitializeCharacter(); - //} - - void InitializeCharacter() { - maxHealth = 0; - maxMana = 0; - attackPower = 1f; - abilities = new List(); - - foreach (var cc in classes) { - maxHealth += cc.baseHealth; - maxMana += cc.baseMana; - attackPower *= cc.attackMultiplier; - abilities.AddRange(cc.abilities); - } - - Debug.Log($"{name} initialized as {string.Join(", ", classes.ConvertAll(c => c.className))} with {abilities.Count} abilities."); - } - - public void UseAbility(int index) { - if (index < 0 || index >= abilities.Count) return; - var ability = abilities[index]; - ability.Use(this); - } } diff --git a/Assets/Scripts/Runtime/Characters/Player/Classes.meta b/Assets/Scripts/Runtime/Characters/Player/Classes.meta new file mode 100644 index 0000000..cda95c5 --- /dev/null +++ b/Assets/Scripts/Runtime/Characters/Player/Classes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 71b6764b9c492d24dbc6a7fe05df7e63 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Runtime/Characters/Player/Classes/ClassBase.cs b/Assets/Scripts/Runtime/Characters/Player/Classes/ClassBase.cs new file mode 100644 index 0000000..3e70494 --- /dev/null +++ b/Assets/Scripts/Runtime/Characters/Player/Classes/ClassBase.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using UnityEngine; + +public class ClassBase { + + [HideInInspector] public int MaxHealth; + [HideInInspector] public int MaxMana; + [HideInInspector] public float AttackPower; + [HideInInspector] public float MagicPower; + //[HideInInspector] public List Abilities; + + protected Animator Animator; + protected Player Player; + + public ClassBase(Player player) { + Player = player; + Animator = Player.Animator; + } + + virtual public void InitializeClass(Player player) { + Player = player; + Animator = Player.Animator; + } + + virtual public void UseSkill1() { } +} diff --git a/Assets/Scripts/Runtime/Characters/Player/Classes/ClassBase.cs.meta b/Assets/Scripts/Runtime/Characters/Player/Classes/ClassBase.cs.meta new file mode 100644 index 0000000..e414c43 --- /dev/null +++ b/Assets/Scripts/Runtime/Characters/Player/Classes/ClassBase.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9f7d782db58afd14bbe8993c859f0d57 \ No newline at end of file diff --git a/Assets/Scripts/Runtime/Characters/Player/Classes/MeleeFighterClass.cs b/Assets/Scripts/Runtime/Characters/Player/Classes/MeleeFighterClass.cs new file mode 100644 index 0000000..c97fcb1 --- /dev/null +++ b/Assets/Scripts/Runtime/Characters/Player/Classes/MeleeFighterClass.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using UnityEngine; + +public class MeleeFighterClass : ClassBase { + public MeleeFighterClass(Player player) : base(player) { } + private readonly int BladeVortex = Animator.StringToHash("BladeVortex"); + private float BladeVortexSpeed = 0.4f; + + override public void UseSkill1() { + Player.SkillInUse = true; + Player.MoveSpeed *= BladeVortexSpeed; + Animator.CrossFade(BladeVortex, 0); + Player.StartCoroutine(StopVortexAfterDelay(1.5f)); + } + + private IEnumerator StopVortexAfterDelay(float delay) { + yield return new WaitForSeconds(delay); + Player.SkillInUse = false; + Player.MoveSpeed /= BladeVortexSpeed; + } +} diff --git a/Assets/Scripts/Runtime/Characters/Player/Classes/MeleeFighterClass.cs.meta b/Assets/Scripts/Runtime/Characters/Player/Classes/MeleeFighterClass.cs.meta new file mode 100644 index 0000000..aa8e0ac --- /dev/null +++ b/Assets/Scripts/Runtime/Characters/Player/Classes/MeleeFighterClass.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 077fca63fe37f904faf16f3053d8e265 \ No newline at end of file