diff --git a/Assets/Camera/CameraFollow.cs b/Assets/Camera/CameraFollow.cs index 0089d69..e885860 100644 --- a/Assets/Camera/CameraFollow.cs +++ b/Assets/Camera/CameraFollow.cs @@ -2,8 +2,8 @@ using UnityEngine; public class CameraFollow : MonoBehaviour { - private Vector3 _offset = new Vector3(0f, 0f, -10f); - private float _smoothTime = 10f; + private Vector3 _offset = new(0f, 0f, -10f); + private readonly float _smoothTime = 5f; private Vector3 _velocity = Vector3.zero; [SerializeField] private Transform _target; diff --git a/Assets/Orb.meta b/Assets/Orb.meta new file mode 100644 index 0000000..7a75120 --- /dev/null +++ b/Assets/Orb.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dfd494f60fa7f304b85095dcd4cfb574 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Orb/Orb.png b/Assets/Orb/Orb.png new file mode 100644 index 0000000..310dfaf Binary files /dev/null and b/Assets/Orb/Orb.png differ diff --git a/Assets/Orb/Orb.png.meta b/Assets/Orb/Orb.png.meta new file mode 100644 index 0000000..95c7cc3 --- /dev/null +++ b/Assets/Orb/Orb.png.meta @@ -0,0 +1,127 @@ +fileFormatVersion: 2 +guid: 1d7baf530d1ea1c45be12b9673df53e6 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + 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: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 1500 + 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 + - serializedVersion: 3 + buildTarget: Server + 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/Orb/Orb.prefab b/Assets/Orb/Orb.prefab new file mode 100644 index 0000000..345a690 --- /dev/null +++ b/Assets/Orb/Orb.prefab @@ -0,0 +1,158 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4247841200454641178 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 371045360648463397} + - component: {fileID: -3060596173675991299} + - component: {fileID: 359480412970113223} + - component: {fileID: 6208330476773918141} + - component: {fileID: 4800892708696029541} + m_Layer: 3 + m_Name: Orb + m_TagString: Orb + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &371045360648463397 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4247841200454641178} + 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 &-3060596173675991299 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4247841200454641178} + 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: 21300000, guid: 1d7baf530d1ea1c45be12b9673df53e6, 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.37, y: 2.45} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!95 &359480412970113223 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4247841200454641178} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 878bc2176be43ae4a8fe31663ca73492, 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!58 &6208330476773918141 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4247841200454641178} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + serializedVersion: 2 + m_Radius: 0.08166666 +--- !u!114 &4800892708696029541 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4247841200454641178} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d9de917f2dc87d4ca6ff6838cdc7cfa, type: 3} + m_Name: + m_EditorClassIdentifier: + OrbValue: 1 diff --git a/Assets/Orb/Orb.prefab.meta b/Assets/Orb/Orb.prefab.meta new file mode 100644 index 0000000..ebaf3c7 --- /dev/null +++ b/Assets/Orb/Orb.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5f995817aeb7ddc4e841633e73c7ff59 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Orb/OrbStats.cs b/Assets/Orb/OrbStats.cs new file mode 100644 index 0000000..1481a22 --- /dev/null +++ b/Assets/Orb/OrbStats.cs @@ -0,0 +1,36 @@ +using UnityEngine; +public enum OrbValues +{ + One = 1, + Ten = 10, + Hundred = 100 +}; + +[RequireComponent(typeof(SpriteRenderer))] +public class OrbStats : MonoBehaviour +{ + public OrbValues OrbValue = OrbValues.One; + + private SpriteRenderer _sr; + + private void Start() + { + _sr = GetComponent(); + } + + private void Update() + { + switch (OrbValue) + { + case OrbValues.One: + _sr.color = new Color(0.25f, 1f, 0.25f); + break; + case OrbValues.Ten: + _sr.color = new Color(0.23f, 0.73f, 1f); + break; + case OrbValues.Hundred: + _sr.color = new Color(1f, 0.23f, 0.71f); + break; + } + } +} diff --git a/Assets/Orb/OrbStats.cs.meta b/Assets/Orb/OrbStats.cs.meta new file mode 100644 index 0000000..00c6d8a --- /dev/null +++ b/Assets/Orb/OrbStats.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0d9de917f2dc87d4ca6ff6838cdc7cfa +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Player/Player.prefab b/Assets/Player/Player.prefab index b8fcf1e..062d683 100644 --- a/Assets/Player/Player.prefab +++ b/Assets/Player/Player.prefab @@ -13,7 +13,9 @@ GameObject: - component: {fileID: 3279790092549852026} - component: {fileID: -6060090594203959720} - component: {fileID: 5629464872527876577} + - component: {fileID: 8338184184584571871} - component: {fileID: 3787322971358149925} + - component: {fileID: 7397454076540391921} m_Layer: 0 m_Name: Player m_TagString: Player @@ -172,15 +174,50 @@ BoxCollider2D: m_SpriteTilingProperty: border: {x: 0, y: 0, z: 0, w: 0} pivot: {x: 0.5, y: 0.5} - oldSize: {x: 0.4857143, y: 0.74285716} + oldSize: {x: 0.34, y: 0.52} newSize: {x: 0.17, y: 0.26} adaptiveTilingThreshold: 0.5 drawMode: 0 adaptiveTiling: 0 m_AutoTiling: 0 serializedVersion: 2 - m_Size: {x: 0.17, y: 0.26} + m_Size: {x: 0.34, y: 0.52} m_EdgeRadius: 0 +--- !u!58 &8338184184584571871 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1784956759114531697} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + serializedVersion: 2 + m_Radius: 0.7 --- !u!114 &3787322971358149925 MonoBehaviour: m_ObjectHideFlags: 0 @@ -193,3 +230,15 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 32f5e7611866dce4ab320c814d279d84, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!114 &7397454076540391921 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1784956759114531697} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76eec47d6b942ad4ab792b7022c07bb1, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Player/Scripts/PlayerCollisions.cs b/Assets/Player/Scripts/PlayerCollisions.cs new file mode 100644 index 0000000..77bcc60 --- /dev/null +++ b/Assets/Player/Scripts/PlayerCollisions.cs @@ -0,0 +1,40 @@ +using UnityEngine; + +[RequireComponent(typeof(PlayerManager))] +public class PlayerCollisions : MonoBehaviour +{ + private PlayerManager _pm; + + private void Start() + { + _pm = GetComponent(); + } + + private void OnTriggerStay2D(Collider2D collision) + { + /** --- Orb Absorber ------------------------------- */ + if (collision.gameObject.CompareTag("Orb")) + { + GameObject orb = collision.gameObject; + orb.transform.position = Vector3.MoveTowards(orb.transform.position, transform.position, 1f * Time.deltaTime); + + if (orb.transform.position == transform.position) + { + Destroy(orb); + } + } + } + + private void OnTriggerExit2D(Collider2D collision) + { + if (collision.gameObject.CompareTag("Orb")) + { + GameObject orb = collision.gameObject; + + if (orb.transform.position == transform.position) + { + _pm.AddExperience((int)orb.GetComponent().OrbValue); + } + } + } +} diff --git a/Assets/Player/Scripts/PlayerCollisions.cs.meta b/Assets/Player/Scripts/PlayerCollisions.cs.meta new file mode 100644 index 0000000..753410a --- /dev/null +++ b/Assets/Player/Scripts/PlayerCollisions.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 76eec47d6b942ad4ab792b7022c07bb1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Player/Scripts/PlayerManager.cs b/Assets/Player/Scripts/PlayerManager.cs new file mode 100644 index 0000000..818ba0e --- /dev/null +++ b/Assets/Player/Scripts/PlayerManager.cs @@ -0,0 +1,22 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class PlayerManager : MonoBehaviour +{ + public float Health = 100f; + public float Speed = 10f; + public int Exp = 0; + public int Level = 1; + + public void AddExperience(int value) + { + Exp += value; + + if (Exp >= Level * 10) + { + Exp -= Level * 10; + Level++; + } + } +} diff --git a/Assets/Player/Scripts/PlayerManager.cs.meta b/Assets/Player/Scripts/PlayerManager.cs.meta new file mode 100644 index 0000000..71da6c8 --- /dev/null +++ b/Assets/Player/Scripts/PlayerManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d8afe5a349c86994f8ddacd37ce22ae3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index d446db3..309fe37 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -286,6 +286,30 @@ 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: [] diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 1c92a78..e06b81c 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -3,12 +3,13 @@ --- !u!78 &1 TagManager: serializedVersion: 2 - tags: [] + tags: + - Orb layers: - Default - TransparentFX - Ignore Raycast - - + - Orb - Water - UI -