From 37eb2efbd9725fdd5540cc7f52850bfbe51a74c9 Mon Sep 17 00:00:00 2001 From: Paulo Turquetti Date: Sun, 8 Sep 2024 14:37:47 -0300 Subject: [PATCH] Sistema de vida --- Assets/CurrentHPBar.png | Bin 0 -> 422 bytes Assets/CurrentHPBar.png.meta | 114 +++++++++ Assets/Material/HPBar.meta | 8 + Assets/Material/Player/Green.mat | 83 ++++++ Assets/Material/Player/Green.mat.meta | 8 + Assets/Material/Player/Red.mat | 2 +- Assets/Scenes/TestScene.unity | 281 ++++++++++++++++++++- Assets/Scripts/Enemy.meta | 8 + Assets/Scripts/Player/HPController.cs | 65 +++++ Assets/Scripts/Player/HPController.cs.meta | 11 + ProjectSettings/TagManager.asset | 4 +- 11 files changed, 579 insertions(+), 5 deletions(-) create mode 100644 Assets/CurrentHPBar.png create mode 100644 Assets/CurrentHPBar.png.meta create mode 100644 Assets/Material/HPBar.meta create mode 100644 Assets/Material/Player/Green.mat create mode 100644 Assets/Material/Player/Green.mat.meta create mode 100644 Assets/Scripts/Enemy.meta create mode 100644 Assets/Scripts/Player/HPController.cs create mode 100644 Assets/Scripts/Player/HPController.cs.meta diff --git a/Assets/CurrentHPBar.png b/Assets/CurrentHPBar.png new file mode 100644 index 0000000000000000000000000000000000000000..e5ce562fef0296ad588893a831c69e5ec1eefa7f GIT binary patch literal 422 zcmeAS@N?(olHy`uVBq!ia0y~yVB!a|-8tBRWW&ZKT|kPlILO_JVcj{Imp~3nx}&cn z1H;CC?mvmFKt5-IM`SSr1K(i~W;~w1A_b_y+SA1`q$2L^HAO}S1px-bCWV*xdwBd= v&-t%8eC=*J14G?OW`+qTMlpIA2+XNm)zG{kdQ}A|{24r5{an^LB{Ts5QF(>> literal 0 HcmV?d00001 diff --git a/Assets/CurrentHPBar.png.meta b/Assets/CurrentHPBar.png.meta new file mode 100644 index 0000000..39f5bb4 --- /dev/null +++ b/Assets/CurrentHPBar.png.meta @@ -0,0 +1,114 @@ +fileFormatVersion: 2 +guid: e8eee8bdc23763149b955e068a7d1085 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Material/HPBar.meta b/Assets/Material/HPBar.meta new file mode 100644 index 0000000..8a8df79 --- /dev/null +++ b/Assets/Material/HPBar.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6bca9f238dfb06f4da9a3101d77181b8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Material/Player/Green.mat b/Assets/Material/Player/Green.mat new file mode 100644 index 0000000..75a9535 --- /dev/null +++ b/Assets/Material/Player/Green.mat @@ -0,0 +1,83 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Green + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.17676413, g: 1, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/Material/Player/Green.mat.meta b/Assets/Material/Player/Green.mat.meta new file mode 100644 index 0000000..92e8f2c --- /dev/null +++ b/Assets/Material/Player/Green.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 255d028afaef86e458a1774fc22c19a6 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Material/Player/Red.mat b/Assets/Material/Player/Red.mat index 18e5576..6a8cb21 100644 --- a/Assets/Material/Player/Red.mat +++ b/Assets/Material/Player/Red.mat @@ -78,6 +78,6 @@ Material: - _UVSec: 0 - _ZWrite: 1 m_Colors: - - _Color: {r: 1, g: 0, b: 0, a: 1} + - _Color: {r: 1, g: 0.034551874, b: 0, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} m_BuildTextureStacks: [] diff --git a/Assets/Scenes/TestScene.unity b/Assets/Scenes/TestScene.unity index 4bed64b..b0c1c42 100644 --- a/Assets/Scenes/TestScene.unity +++ b/Assets/Scenes/TestScene.unity @@ -133,6 +133,7 @@ GameObject: - component: {fileID: 36373504} - component: {fileID: 36373506} - component: {fileID: 36373505} + - component: {fileID: 36373507} m_Layer: 0 m_Name: Player m_TagString: Untagged @@ -243,7 +244,21 @@ MonoBehaviour: target: 50 duration: 0.3 fovChangeEffectDashTarget: 70 - t: 0 +--- !u!114 &36373507 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 36373503} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a7704352f23f9c44096abc3e3898953a, type: 3} + m_Name: + m_EditorClassIdentifier: + HPBar: {fileID: 1462963083} + MaxHP: 100 + CurrentHP: 100 --- !u!1 &39904384 GameObject: m_ObjectHideFlags: 0 @@ -776,7 +791,7 @@ GameObject: - component: {fileID: 158906596} m_Layer: 6 m_Name: Capsule (1) - m_TagString: Untagged + m_TagString: Enemy m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -2562,6 +2577,81 @@ Mesh: offset: 0 size: 0 path: +--- !u!1 &516664431 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 516664432} + - component: {fileID: 516664434} + - component: {fileID: 516664433} + m_Layer: 5 + m_Name: HPBackground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &516664432 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 516664431} + 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: 1268288251} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -662, y: 331} + m_SizeDelta: {x: 500, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &516664433 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 516664431} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &516664434 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 516664431} + m_CullTransparentMesh: 1 --- !u!1 &732266865 GameObject: m_ObjectHideFlags: 0 @@ -3861,7 +3951,7 @@ GameObject: - component: {fileID: 1175476213} m_Layer: 6 m_Name: Capsule (2) - m_TagString: Untagged + m_TagString: Enemy m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -4349,6 +4439,8 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1615444437} + - {fileID: 516664432} + - {fileID: 1462963082} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -5078,6 +5170,81 @@ MonoBehaviour: m_SelectedFaces: m_SelectedEdges: [] m_SelectedVertices: +--- !u!1 &1462963081 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1462963082} + - component: {fileID: 1462963084} + - component: {fileID: 1462963083} + m_Layer: 5 + m_Name: HPBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1462963082 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1462963081} + 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: 1268288251} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -662, y: 331} + m_SizeDelta: {x: 480, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1462963083 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1462963081} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9150943, g: 0.41869882, b: 0.41869882, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: e8eee8bdc23763149b955e068a7d1085, type: 3} + m_Type: 3 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 0 + m_FillAmount: 0 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1462963084 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1462963081} + m_CullTransparentMesh: 1 --- !u!1 &1473172944 GameObject: m_ObjectHideFlags: 0 @@ -5846,6 +6013,113 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1615444436} m_CullTransparentMesh: 1 +--- !u!1 &1635424784 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1635424785} + - component: {fileID: 1635424788} + - component: {fileID: 1635424787} + - component: {fileID: 1635424786} + m_Layer: 0 + m_Name: Capsule healing + m_TagString: Health Pack + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1635424785 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1635424784} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 61.39, y: 1.82, z: 71.3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1766908104} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!136 &1635424786 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1635424784} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1635424787 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1635424784} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 255d028afaef86e458a1774fc22c19a6, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1635424788 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1635424784} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} --- !u!43 &1659974958 Mesh: m_ObjectHideFlags: 0 @@ -6356,6 +6630,7 @@ Transform: - {fileID: 1978623376} - {fileID: 158906599} - {fileID: 1175476217} + - {fileID: 1635424785} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!43 &1811599403 diff --git a/Assets/Scripts/Enemy.meta b/Assets/Scripts/Enemy.meta new file mode 100644 index 0000000..c1beff6 --- /dev/null +++ b/Assets/Scripts/Enemy.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 65e8edf0a5a344141b5d543cb32234b5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Player/HPController.cs b/Assets/Scripts/Player/HPController.cs new file mode 100644 index 0000000..f1efefb --- /dev/null +++ b/Assets/Scripts/Player/HPController.cs @@ -0,0 +1,65 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + + +public class HPController : MonoBehaviour +{ + [SerializeField] public Image HPBar; + [SerializeField] private int MaxHP; + [SerializeField] private int CurrentHP; + + void Start() + { + CurrentHP = MaxHP; + } + + // Update is called once per frame + void Update() + { + HPBar.fillAmount = (float)CurrentHP / MaxHP; + } + + public void LoseHP(int Damage) + { + CurrentHP -= Damage; + + if (CurrentHP <= 0) // Condicao de derrota + { + // GameOver(); + Debug.Log("Game Over"); + } + } + + public void GainHP(int HPGained) + { + CurrentHP += HPGained; + + if (CurrentHP > MaxHP) // Se ficou com vida maior que a vida maxima + { + CurrentHP = MaxHP; + } + } + + public void GameOver() + { + + } + + //Funcao para testar perda de vida e cura quando toca em inimigo + void OnCollisionEnter(Collision collision) + { + if (collision.gameObject.CompareTag("Enemy")) + { + LoseHP(10); + + }else if (collision.gameObject.CompareTag("Health Pack")) + { + GainHP(10); + } + } + + +} diff --git a/Assets/Scripts/Player/HPController.cs.meta b/Assets/Scripts/Player/HPController.cs.meta new file mode 100644 index 0000000..826acc7 --- /dev/null +++ b/Assets/Scripts/Player/HPController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a7704352f23f9c44096abc3e3898953a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index ef0e5e0..4eecf90 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -3,7 +3,9 @@ --- !u!78 &1 TagManager: serializedVersion: 2 - tags: [] + tags: + - Enemy + - Health Pack layers: - Default - TransparentFX