From 46664e688f4a62ee9a446c8fd87442112cdf29b6 Mon Sep 17 00:00:00 2001 From: UnEpicier Date: Sat, 14 Oct 2023 09:44:56 +0200 Subject: [PATCH] Generic class of enemy & first enemy: Mayor --- Assets/Enemies.meta | 8 + Assets/Enemies/Enemy.cs | 60 ++++ Assets/Enemies/Enemy.cs.meta | 11 + Assets/Enemies/Mayor.meta | 8 + Assets/Enemies/Mayor/Animations.meta | 8 + .../Enemies/Mayor/Animations/Mayor.controller | 72 +++++ .../Mayor/Animations/Mayor.controller.meta | 8 + Assets/Enemies/Mayor/Animations/Walk.anim | 93 ++++++ .../Enemies/Mayor/Animations/Walk.anim.meta | 8 + Assets/Enemies/Mayor/Mayor.prefab | 168 ++++++++++ Assets/Enemies/Mayor/Mayor.prefab.meta | 7 + Assets/Enemies/Mayor/Sprites.meta | 8 + Assets/Enemies/Mayor/Sprites/Walk.png | Bin 0 -> 2845 bytes Assets/Enemies/Mayor/Sprites/Walk.png.meta | 303 ++++++++++++++++++ Assets/Player/Player.prefab | 29 +- Assets/Player/Scripts/PlayerManager.cs | 28 +- Assets/Player/Scripts/PlayerMovements.cs | 10 +- Assets/Scenes/SampleScene.unity | 86 +++-- 18 files changed, 878 insertions(+), 37 deletions(-) create mode 100644 Assets/Enemies.meta create mode 100644 Assets/Enemies/Enemy.cs create mode 100644 Assets/Enemies/Enemy.cs.meta create mode 100644 Assets/Enemies/Mayor.meta create mode 100644 Assets/Enemies/Mayor/Animations.meta create mode 100644 Assets/Enemies/Mayor/Animations/Mayor.controller create mode 100644 Assets/Enemies/Mayor/Animations/Mayor.controller.meta create mode 100644 Assets/Enemies/Mayor/Animations/Walk.anim create mode 100644 Assets/Enemies/Mayor/Animations/Walk.anim.meta create mode 100644 Assets/Enemies/Mayor/Mayor.prefab create mode 100644 Assets/Enemies/Mayor/Mayor.prefab.meta create mode 100644 Assets/Enemies/Mayor/Sprites.meta create mode 100644 Assets/Enemies/Mayor/Sprites/Walk.png create mode 100644 Assets/Enemies/Mayor/Sprites/Walk.png.meta diff --git a/Assets/Enemies.meta b/Assets/Enemies.meta new file mode 100644 index 0000000..8891575 --- /dev/null +++ b/Assets/Enemies.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ba197afbb44784e4dbf2745c3a4a5a9d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Enemies/Enemy.cs b/Assets/Enemies/Enemy.cs new file mode 100644 index 0000000..599e0d7 --- /dev/null +++ b/Assets/Enemies/Enemy.cs @@ -0,0 +1,60 @@ +using UnityEngine; + +[ + RequireComponent(typeof(SpriteRenderer)), + RequireComponent(typeof(Animator)), + RequireComponent(typeof(BoxCollider2D)) +] +public class Enemy : MonoBehaviour +{ + private SpriteRenderer _sr; + private Transform _player; + + public float Speed = .1f; + public int Damages = 1; + + private void Start() + { + _sr = GetComponent(); + + _player = GameObject.FindGameObjectWithTag("Player").transform; + } + + private void FixedUpdate() + { + if (_player != null) + { + transform.position = Vector3.MoveTowards(transform.position, _player.transform.position, Speed * Time.deltaTime); + + if ((transform.position - _player.transform.position).normalized.x > 0) + { + _sr.flipX = true; + } + else if ((transform.position - _player.transform.position).normalized.x < 0) + { + _sr.flipX = false; + } + } + } + + private void OnCollisionEnter2D(Collision2D collision) + { + if (collision.gameObject.CompareTag("Player")) + { + InvokeRepeating(nameof(AttackPlayer), 0, 1f); + } + } + + private void OnCollisionExit2D(Collision2D collision) + { + if (collision.gameObject.CompareTag("Player")) + { + CancelInvoke(nameof(AttackPlayer)); + } + } + + private void AttackPlayer() + { + _player.GetComponent().TakeDamage(Damages); + } +} diff --git a/Assets/Enemies/Enemy.cs.meta b/Assets/Enemies/Enemy.cs.meta new file mode 100644 index 0000000..213179f --- /dev/null +++ b/Assets/Enemies/Enemy.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f4b3c6920a262c94696eed7deeec570f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Enemies/Mayor.meta b/Assets/Enemies/Mayor.meta new file mode 100644 index 0000000..640f825 --- /dev/null +++ b/Assets/Enemies/Mayor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a21afc71c18b54045a6a1c418250053b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Enemies/Mayor/Animations.meta b/Assets/Enemies/Mayor/Animations.meta new file mode 100644 index 0000000..4a2e74d --- /dev/null +++ b/Assets/Enemies/Mayor/Animations.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5eb9f884ff21a34478f1ab17f968d644 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Enemies/Mayor/Animations/Mayor.controller b/Assets/Enemies/Mayor/Animations/Mayor.controller new file mode 100644 index 0000000..050bfa9 --- /dev/null +++ b/Assets/Enemies/Mayor/Animations/Mayor.controller @@ -0,0 +1,72 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1107 &-7764722379456937509 +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: 3577949571111340771} + m_Position: {x: 250, y: 120, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 80, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 50, y: 160, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 3577949571111340771} +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Mayor + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: -7764722379456937509} + 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 &3577949571111340771 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Walk + 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: 8e6bcf2efcbdf834987ca205f62d6ba5, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: diff --git a/Assets/Enemies/Mayor/Animations/Mayor.controller.meta b/Assets/Enemies/Mayor/Animations/Mayor.controller.meta new file mode 100644 index 0000000..17d974d --- /dev/null +++ b/Assets/Enemies/Mayor/Animations/Mayor.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8e509666acab70d4592133525e6415db +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Enemies/Mayor/Animations/Walk.anim b/Assets/Enemies/Mayor/Animations/Walk.anim new file mode 100644 index 0000000..e6a459c --- /dev/null +++ b/Assets/Enemies/Mayor/Animations/Walk.anim @@ -0,0 +1,93 @@ +%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: Walk + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: + - serializedVersion: 2 + curve: + - time: 0 + value: {fileID: -1987834900, guid: 403632cc022a7c44dba2e5dd1bb8278c, type: 3} + - time: 0.083333336 + value: {fileID: -839986505, guid: 403632cc022a7c44dba2e5dd1bb8278c, type: 3} + - time: 0.16666667 + value: {fileID: -1322089194, guid: 403632cc022a7c44dba2e5dd1bb8278c, type: 3} + - time: 0.25 + value: {fileID: 1206918476, guid: 403632cc022a7c44dba2e5dd1bb8278c, type: 3} + - time: 0.33333334 + value: {fileID: -26611762, guid: 403632cc022a7c44dba2e5dd1bb8278c, type: 3} + - time: 0.41666666 + value: {fileID: 1885004790, guid: 403632cc022a7c44dba2e5dd1bb8278c, type: 3} + - time: 0.5 + value: {fileID: -810009145, guid: 403632cc022a7c44dba2e5dd1bb8278c, type: 3} + - time: 0.5833333 + value: {fileID: -1376874762, guid: 403632cc022a7c44dba2e5dd1bb8278c, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + flags: 2 + m_SampleRate: 12 + 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: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: + - {fileID: -1987834900, guid: 403632cc022a7c44dba2e5dd1bb8278c, type: 3} + - {fileID: -839986505, guid: 403632cc022a7c44dba2e5dd1bb8278c, type: 3} + - {fileID: -1322089194, guid: 403632cc022a7c44dba2e5dd1bb8278c, type: 3} + - {fileID: 1206918476, guid: 403632cc022a7c44dba2e5dd1bb8278c, type: 3} + - {fileID: -26611762, guid: 403632cc022a7c44dba2e5dd1bb8278c, type: 3} + - {fileID: 1885004790, guid: 403632cc022a7c44dba2e5dd1bb8278c, type: 3} + - {fileID: -810009145, guid: 403632cc022a7c44dba2e5dd1bb8278c, type: 3} + - {fileID: -1376874762, guid: 403632cc022a7c44dba2e5dd1bb8278c, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.6666666 + 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: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Enemies/Mayor/Animations/Walk.anim.meta b/Assets/Enemies/Mayor/Animations/Walk.anim.meta new file mode 100644 index 0000000..5227b46 --- /dev/null +++ b/Assets/Enemies/Mayor/Animations/Walk.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8e6bcf2efcbdf834987ca205f62d6ba5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Enemies/Mayor/Mayor.prefab b/Assets/Enemies/Mayor/Mayor.prefab new file mode 100644 index 0000000..c49d07d --- /dev/null +++ b/Assets/Enemies/Mayor/Mayor.prefab @@ -0,0 +1,168 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6061697268588932327 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8999614972709205858} + - component: {fileID: 925154446470103194} + - component: {fileID: 1364958835108450234} + - component: {fileID: 4588410858226605926} + - component: {fileID: 247299863115505385} + m_Layer: 0 + m_Name: Mayor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8999614972709205858 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6061697268588932327} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &925154446470103194 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6061697268588932327} + 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: -1987834900, guid: 403632cc022a7c44dba2e5dd1bb8278c, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.19, y: 0.49} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!95 &1364958835108450234 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6061697268588932327} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 8e509666acab70d4592133525e6415db, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &4588410858226605926 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6061697268588932327} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4b3c6920a262c94696eed7deeec570f, type: 3} + m_Name: + m_EditorClassIdentifier: + speed: 20 +--- !u!61 &247299863115505385 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6061697268588932327} + 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: 0.19, y: 0.49} + newSize: {x: 0.19, y: 0.49} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.19, y: 0.49} + m_EdgeRadius: 0 diff --git a/Assets/Enemies/Mayor/Mayor.prefab.meta b/Assets/Enemies/Mayor/Mayor.prefab.meta new file mode 100644 index 0000000..0eb36a3 --- /dev/null +++ b/Assets/Enemies/Mayor/Mayor.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 797fec3354cfff54e95743a263e79f8f +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Enemies/Mayor/Sprites.meta b/Assets/Enemies/Mayor/Sprites.meta new file mode 100644 index 0000000..65affe5 --- /dev/null +++ b/Assets/Enemies/Mayor/Sprites.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6eecb55e922cff84c8f99d19b2f6410f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Enemies/Mayor/Sprites/Walk.png b/Assets/Enemies/Mayor/Sprites/Walk.png new file mode 100644 index 0000000000000000000000000000000000000000..248f09cd0beeac87d3cf6ae46d94e44c2283d260 GIT binary patch literal 2845 zcmZ8jX&@9@8$M$e>lkHCw`SB$i7aL0UNK|Ia%)_dFfACB%%_sHP%<+igc>c15i{ai zuF0Nasu>|SVn|F$jV)x2th0V}@1O5GKh8Ptd6)CN%a7-}hr0_>MPCH~fOKiBSWOJkpslJjjzV}V zqPbEzAgx-)5y7gc=3oL=MTCLQ55L&dLP%djU6JH-h}|_8x$xWNH^(ee-j|7)e%v}j zl8mkonj4^({LXE5?En^m0{#^BqI5zQEMPvA=fY__`|WmhdM!8O3)XpB;`gV|SFSkX zNDDYpH}kJmgAudJQ~Wm3B6*89v?0b1$B}>dVMF~(MqdlUJZFelB}OtjFN8)k9}ix{ zaVWeADvyl|l1I!Mfpv+~I;BBqlOvu{1J~{%HJ}%zcBf>Eft^2K*cmNzE9sEWhg&Oi zM}`IRjf}j=cTc5*cWy&!Y5$`5VTjR|yP!aL1-iF3`?+lD)Qsd!luLz8KtRh0GykM$ z>#SQzklGmUAK+BkGF{?)!LZ!@BEWQi5eN|a2YTA`$s7Jmx3)gvkE4)f6!M zOQ1CmY%d*`)^yXUajvg{A20uhKKi|6x;}p;6PJ&WZR=q_JLtXqr2f{q8IcJ2pD-(x zh*Iu*l-pQ85uBXMjX<{!+c8>R9HeN?o7ZCgDciPJq!We_Qs!jaHVNvVDpT!az6VqR z+RLWF@?%X_&tFtk-Ia>PA?*6mdoZMicDU3V%L5$BFo31c7yK%3T;9aWS*lM!1&bG_ z`S`l})ZsiY=TOcB}pA;~Kp?+W-L)f(oKA$|Sz3D=gkS26Ja%nWKQ z1aFffa=gR)(sFrQJby>zn$-*?=ZQl#K`f{CK&v zQm6pls~;s(B1%lv>iMIWR{92y0wz$b`L11^^MOu5moL{Vn%MH*^A!3LwVt830FnYM ze4yA}^!BZ%-A`I+A9*iisSwNYMYkM~GG+bU{oamlEd z&ahb6uSHz;@7)%Y>1auaL52G9%V$r=8cKNzq+RJ#S9wDt^?3pK)8<#y?O?|M`{<q4x?gsO>#lKH!%P27#ARNn6` zrbK?=4sIZ6r_|yDti$^7Gx}cOD3X@bGkx2A8lqt*nH$`382|J{O4s*}bKjq1VM%EE z&gCa?(aif13k@QawZ?f$vF<{j3;lcv?N3>>gMsTwFdL{!BPg{}%MU*5CCB z3ekoKBoBoJCZL>!1@{c@2#dT5tfGyxox{`xTv3-}3A{yxsG0lC?(Z>Ed5xfcP5khP z@(WGepc2i%vsk(f!g{Tur|eQ|T*XGt+eAfG7KM1e-11xER&E3w`zpW|X#0nUXQace?!Gan39QZ6O*nUWtgwZqbn z?z)m@Id2xK(O?w`aRVe3nq5&BWyA)|cBSfb)!?t3H(N)G=I$X1e*rb-2wt^yz?w%^ zb8$Q;no#K${dz^N#asn~m;dx}K(&{po8d;#tcH0e9UlEd+=Odx|B1%nv8b&d)39Y{ z1X>g`+krnCbKT_=jr(#Jk>Sl7dEtXhlp{FhDJBu+Ayjp1>O#|R9eoaaDCHJPhr;gc zd5PNZAHM+JS%MS4qYJY@y#BdS&Eqej>2r^larh2sT!lX?t=5fn;Co#u*MDuWpW;F6~d z&-=-@52%y);KG^m(FmjUs#fOe_*X|qV~>n)f2z!wFE}LEM1scd z5&axUSU~5M*{femyZLxmGuest2|KF+Qsi)mv?1}B z;N#M>=|ERXhu39J3e497z;haBNq} zFKUk_$GY5UjF{91(}q1*rugplTByb$xQe-wA$~%EEsNZRTaqn*_PLt5WSqZ#jF@_QB^r^He>lLDG@TU~mc&M_lw9hc_mE^{=kFg1W=K`*z~Pp`%u$=zJ;PYEKM)WUFhhH(;BB9g^(V2vvk-?PZEX= zH5`ilhc|-i!yJ>x{D+k(rsLEB8^GQwNaAkD_chyp2$`!~^v-Fm5Jp}lh0aI*j~r^K if|ciZ`^0~_ MaxHealth) + { + Health = MaxHealth; + } + } } diff --git a/Assets/Player/Scripts/PlayerMovements.cs b/Assets/Player/Scripts/PlayerMovements.cs index 136be6c..4eb25d3 100644 --- a/Assets/Player/Scripts/PlayerMovements.cs +++ b/Assets/Player/Scripts/PlayerMovements.cs @@ -1,24 +1,24 @@ using UnityEngine; -[RequireComponent(typeof(SpriteRenderer)), RequireComponent(typeof(Animator))] +[RequireComponent(typeof(SpriteRenderer)), RequireComponent(typeof(Animator)), RequireComponent(typeof(PlayerManager))] public class PlayerMovements : MonoBehaviour { - private readonly float _speed = .15f; - private SpriteRenderer _sr; private Animator _animator; + private PlayerManager _pm; private void Start() { _sr = GetComponent(); _animator = GetComponent(); + _pm = GetComponent(); } private void FixedUpdate() { /** --- Move player along 2D axis ----------------------------------*/ - float moveH = Input.GetAxis("Horizontal") * _speed; - float moveV = Input.GetAxis("Vertical") * _speed; + float moveH = Input.GetAxis("Horizontal") * _pm.Speed * Time.deltaTime; + float moveV = Input.GetAxis("Vertical") * _pm.Speed * Time.deltaTime; transform.Translate(new Vector2(moveH, moveV)); diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 309fe37..b31b31f 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -234,6 +234,67 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: _target: {fileID: 325474385} +--- !u!1001 &1803491063 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4588410858226605926, guid: 797fec3354cfff54e95743a263e79f8f, type: 3} + propertyPath: speed + value: 0.25 + objectReference: {fileID: 0} + - target: {fileID: 6061697268588932327, guid: 797fec3354cfff54e95743a263e79f8f, type: 3} + propertyPath: m_Name + value: Mayor + objectReference: {fileID: 0} + - target: {fileID: 8999614972709205858, guid: 797fec3354cfff54e95743a263e79f8f, type: 3} + propertyPath: m_LocalPosition.x + value: -4.53618 + objectReference: {fileID: 0} + - target: {fileID: 8999614972709205858, guid: 797fec3354cfff54e95743a263e79f8f, type: 3} + propertyPath: m_LocalPosition.y + value: 0.03178945 + objectReference: {fileID: 0} + - target: {fileID: 8999614972709205858, guid: 797fec3354cfff54e95743a263e79f8f, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8999614972709205858, guid: 797fec3354cfff54e95743a263e79f8f, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8999614972709205858, guid: 797fec3354cfff54e95743a263e79f8f, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8999614972709205858, guid: 797fec3354cfff54e95743a263e79f8f, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8999614972709205858, guid: 797fec3354cfff54e95743a263e79f8f, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8999614972709205858, guid: 797fec3354cfff54e95743a263e79f8f, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8999614972709205858, guid: 797fec3354cfff54e95743a263e79f8f, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8999614972709205858, guid: 797fec3354cfff54e95743a263e79f8f, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 797fec3354cfff54e95743a263e79f8f, type: 3} --- !u!1001 &5393968438828368982 PrefabInstance: m_ObjectHideFlags: 0 @@ -286,30 +347,6 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 5629464872527876577, guid: 05d927a24df204541afbb77f1af3a9a2, type: 3} - propertyPath: m_CallbackLayers.m_Bits - value: 55 - objectReference: {fileID: 0} - - target: {fileID: 5629464872527876577, guid: 05d927a24df204541afbb77f1af3a9a2, type: 3} - propertyPath: m_ForceSendLayers.m_Bits - value: 55 - objectReference: {fileID: 0} - - target: {fileID: 5629464872527876577, guid: 05d927a24df204541afbb77f1af3a9a2, type: 3} - propertyPath: m_ForceReceiveLayers.m_Bits - value: 55 - objectReference: {fileID: 0} - - target: {fileID: 5629464872527876577, guid: 05d927a24df204541afbb77f1af3a9a2, type: 3} - propertyPath: m_ContactCaptureLayers.m_Bits - value: 55 - objectReference: {fileID: 0} - - target: {fileID: 8338184184584571871, guid: 05d927a24df204541afbb77f1af3a9a2, type: 3} - propertyPath: m_CallbackLayers.m_Bits - value: 8 - objectReference: {fileID: 0} - - target: {fileID: 8338184184584571871, guid: 05d927a24df204541afbb77f1af3a9a2, type: 3} - propertyPath: m_ContactCaptureLayers.m_Bits - value: 8 - objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] @@ -321,3 +358,4 @@ SceneRoots: m_Roots: - {fileID: 519420032} - {fileID: 5393968438828368982} + - {fileID: 1803491063}