From 68ecddd9ca98f701d76a99de6c286c4f601cefee Mon Sep 17 00:00:00 2001 From: Jakob Feldmann Date: Wed, 12 Jun 2024 13:41:57 +0200 Subject: [PATCH] feat: 3D off-screen indicators for items&players, gravity changer objects --- Assets/Models/PlayZoneBoundary.gltf | 1 - Assets/Models/PlayZoneBoundary.gltf.meta | 30 --- Assets/Prefabs/Gravity Changer.prefab | 211 +++++++++++------- Assets/Prefabs/Nimble Zone.prefab | 10 +- .../UI/Offscreen Indicator Arrow.prefab | 130 +++++++++++ .../UI/Offscreen Indicator Arrow.prefab.meta | 7 + Assets/Scripts/GravityChanger.cs | 1 - Assets/Scripts/Indicator3D.cs | 25 +++ Assets/Scripts/Indicator3D.cs.meta | 11 + .../Scripts/UI/OffScreenIndicatorManager.cs | 120 ++++++++++ .../UI/OffScreenIndicatorManager.cs.meta | 11 + Assets/UI/Health&Boost Concept.aseprite | Bin 0 -> 72464 bytes Assets/UI/Health&Boost Concept.aseprite.meta | 7 + 13 files changed, 441 insertions(+), 123 deletions(-) delete mode 100644 Assets/Models/PlayZoneBoundary.gltf delete mode 100644 Assets/Models/PlayZoneBoundary.gltf.meta create mode 100644 Assets/Prefabs/UI/Offscreen Indicator Arrow.prefab create mode 100644 Assets/Prefabs/UI/Offscreen Indicator Arrow.prefab.meta create mode 100644 Assets/Scripts/Indicator3D.cs create mode 100644 Assets/Scripts/Indicator3D.cs.meta create mode 100644 Assets/Scripts/UI/OffScreenIndicatorManager.cs create mode 100644 Assets/Scripts/UI/OffScreenIndicatorManager.cs.meta create mode 100644 Assets/UI/Health&Boost Concept.aseprite create mode 100644 Assets/UI/Health&Boost Concept.aseprite.meta diff --git a/Assets/Models/PlayZoneBoundary.gltf b/Assets/Models/PlayZoneBoundary.gltf deleted file mode 100644 index 5958853..0000000 --- a/Assets/Models/PlayZoneBoundary.gltf +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"generator":"3D Builder","version":"2.0"},"scene":0,"scenes":[{"nodes":[0]}],"nodes":[{"children":[1,2]},{"mesh":0,"matrix":[1,0,0,0,0,-1.1920928955078125E-7,-0.99999988079071045,0,0,0.99999988079071045,-1.1920928955078125E-7,0,0,0,0,1]},{"mesh":1,"matrix":[37.501873016357422,0,0,0,0,-2.9802320611338473E-8,-0.24999995529651642,0,0,2.5001249313354492,-2.9803814527440409E-7,0,-0.75,-0.050000172108411789,-1.4842503070831299,1]}],"meshes":[{"primitives":[{"attributes":{"POSITION":0,"COLOR_0":1},"mode":4,"indices":2}]},{"primitives":[{"attributes":{"POSITION":3,"COLOR_0":4},"mode":4,"indices":5}]}],"accessors":[{"bufferView":0,"byteOffset":0,"count":60,"componentType":5126,"type":"VEC3","min":[-0.75,-0.0050000823102891445,-0.050000004470348358],"max":[0.74999988079071045,1.4950000047683716,0.050000008195638657]},{"bufferView":1,"byteOffset":0,"count":60,"componentType":5121,"type":"VEC4","normalized":true},{"bufferView":2,"byteOffset":0,"count":396,"componentType":5125,"type":"SCALAR"},{"bufferView":3,"byteOffset":0,"count":8,"componentType":5126,"type":"VEC3","min":[0,0.042998004704713821,0],"max":[0.039998002350330353,0.082998007535934448,0.039998002350330353]},{"bufferView":4,"byteOffset":0,"count":8,"componentType":5121,"type":"VEC4","normalized":true},{"bufferView":5,"byteOffset":0,"count":36,"componentType":5125,"type":"SCALAR"}],"bufferViews":[{"buffer":0,"byteOffset":0,"byteLength":720,"byteStride":12,"target":34962},{"buffer":0,"byteOffset":720,"byteLength":240,"byteStride":4,"target":34962},{"buffer":0,"byteOffset":960,"byteLength":1584,"target":34963},{"buffer":0,"byteOffset":2544,"byteLength":96,"byteStride":12,"target":34962},{"buffer":0,"byteOffset":2640,"byteLength":32,"byteStride":4,"target":34962},{"buffer":0,"byteOffset":2672,"byteLength":144,"target":34963}],"buffers":[{"byteLength":2816,"uri":"PlayZoneBoundary.bin"}]} \ No newline at end of file diff --git a/Assets/Models/PlayZoneBoundary.gltf.meta b/Assets/Models/PlayZoneBoundary.gltf.meta deleted file mode 100644 index 317550e..0000000 --- a/Assets/Models/PlayZoneBoundary.gltf.meta +++ /dev/null @@ -1,30 +0,0 @@ -fileFormatVersion: 2 -guid: 303177f7648454b4fb8179c1378dd1ec -ScriptedImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 2 - userData: - assetBundleName: - assetBundleVariant: - script: {fileID: 11500000, guid: 715df9372183c47e389bb6e19fbc3b52, type: 3} - editorImportSettings: - generateSecondaryUVSet: 0 - importSettings: - nodeNameMethod: 1 - animationMethod: 2 - generateMipMaps: 1 - defaultMinFilterMode: 9729 - defaultMagFilterMode: 9729 - anisotropicFilterLevel: 1 - instantiationSettings: - mask: -1 - layer: 0 - skinUpdateWhenOffscreen: 1 - lightIntensityFactor: 1 - sceneObjectCreation: 2 - assetDependencies: - - type: 0 - originalUri: Assets\Models\PlayZoneBoundary.bin - assetPath: Assets\Models\PlayZoneBoundary.bin - reportItems: [] diff --git a/Assets/Prefabs/Gravity Changer.prefab b/Assets/Prefabs/Gravity Changer.prefab index b330d59..0a27745 100644 --- a/Assets/Prefabs/Gravity Changer.prefab +++ b/Assets/Prefabs/Gravity Changer.prefab @@ -29,7 +29,7 @@ Transform: serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 3, y: 3, z: 3} + m_LocalScale: {x: 5, y: 5, z: 5} m_ConstrainProportionsScale: 1 m_Children: - {fileID: 4274613733215928132} @@ -77,7 +77,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 42bb47879381c4f498a115b2b84b191a, type: 3} m_Name: m_EditorClassIdentifier: - ForcesManager: {fileID: 0} RenderedZoneObject: {fileID: 3847966118592310179} GravityEffect: {fileID: 2798249376021352391} GravityColors: @@ -91,86 +90,122 @@ MonoBehaviour: color: {r: 0.25471687, g: 0.77203095, b: 1, a: 0.3529412} - gravity: 4 color: {r: 1, g: 0.4656382, b: 0.2471698, a: 0.3529412} - _gravity: 0 ---- !u!1001 &4147390443820438502 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 5300185106086715317} - m_Modifications: - - target: {fileID: 930210402018179143, guid: 42641a1e05f4e084bae7d69b644dfd81, type: 3} - propertyPath: m_Name - value: Nimble Zone Sphere - objectReference: {fileID: 0} - - target: {fileID: 930210402018337895, guid: 42641a1e05f4e084bae7d69b644dfd81, type: 3} - propertyPath: m_LocalScale.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 930210402018337895, guid: 42641a1e05f4e084bae7d69b644dfd81, type: 3} - propertyPath: m_LocalScale.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 930210402018337895, guid: 42641a1e05f4e084bae7d69b644dfd81, type: 3} - propertyPath: m_LocalScale.z - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 930210402018337895, guid: 42641a1e05f4e084bae7d69b644dfd81, type: 3} - propertyPath: m_LocalPosition.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 930210402018337895, guid: 42641a1e05f4e084bae7d69b644dfd81, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 930210402018337895, guid: 42641a1e05f4e084bae7d69b644dfd81, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 930210402018337895, guid: 42641a1e05f4e084bae7d69b644dfd81, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 930210402018337895, guid: 42641a1e05f4e084bae7d69b644dfd81, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 930210402018337895, guid: 42641a1e05f4e084bae7d69b644dfd81, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 930210402018337895, guid: 42641a1e05f4e084bae7d69b644dfd81, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 930210402018337895, guid: 42641a1e05f4e084bae7d69b644dfd81, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 930210402018337895, guid: 42641a1e05f4e084bae7d69b644dfd81, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 930210402018337895, guid: 42641a1e05f4e084bae7d69b644dfd81, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 42641a1e05f4e084bae7d69b644dfd81, type: 3} ---- !u!4 &3847966118591952769 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 930210402018337895, guid: 42641a1e05f4e084bae7d69b644dfd81, type: 3} - m_PrefabInstance: {fileID: 4147390443820438502} - m_PrefabAsset: {fileID: 0} ---- !u!1 &3847966118592310179 stripped + _gravity: 4 +--- !u!1 &3847966118592310177 GameObject: - m_CorrespondingSourceObject: {fileID: 930210402018179141, guid: 42641a1e05f4e084bae7d69b644dfd81, type: 3} - m_PrefabInstance: {fileID: 4147390443820438502} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3847966118591952769} + m_Layer: 0 + m_Name: Nimble Zone Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3847966118591952769 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3847966118592310177} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_ConstrainProportionsScale: 1 + m_Children: + - {fileID: 3847966118591952771} + m_Father: {fileID: 5300185106086715317} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3847966118592310179 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3847966118591952771} + - component: {fileID: 3847966118591149987} + - component: {fileID: 3847966118590051683} + m_Layer: 0 + m_Name: HighPolySphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3847966118591952771 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3847966118592310179} + 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: 3847966118591952769} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3847966118591149987 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3847966118592310179} + m_Mesh: {fileID: 4300000, guid: fc5f274d483f9d24b95d2f4a7eb88be9, type: 3} +--- !u!23 &3847966118590051683 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3847966118592310179} + 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: 5cddff495cc77524d991f9778fba844a, 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!1001 &7276724944824422886 PrefabInstance: m_ObjectHideFlags: 0 @@ -221,11 +256,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4767480441459301921, guid: 9615c7fd8e252c145b562238bcfc1b23, type: 3} propertyPath: ShapeModule.radius.value - value: 1.5 + value: 3 objectReference: {fileID: 0} - target: {fileID: 4767480441459301921, guid: 9615c7fd8e252c145b562238bcfc1b23, type: 3} propertyPath: ShapeModule.radiusThickness - value: 0.1 + value: 0.2 objectReference: {fileID: 0} - target: {fileID: 4767480441459301921, guid: 9615c7fd8e252c145b562238bcfc1b23, type: 3} propertyPath: VelocityModule.inWorldSpace @@ -239,17 +274,21 @@ PrefabInstance: propertyPath: InitialModule.maxNumParticles value: 80 objectReference: {fileID: 0} + - target: {fileID: 4767480441459301921, guid: 9615c7fd8e252c145b562238bcfc1b23, type: 3} + propertyPath: InitialModule.startSize.scalar + value: 1 + objectReference: {fileID: 0} - target: {fileID: 4767480441459301921, guid: 9615c7fd8e252c145b562238bcfc1b23, type: 3} propertyPath: VelocityModule.orbitalX.scalar - value: 0.1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4767480441459301921, guid: 9615c7fd8e252c145b562238bcfc1b23, type: 3} propertyPath: VelocityModule.orbitalY.scalar - value: 0.1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4767480441459301921, guid: 9615c7fd8e252c145b562238bcfc1b23, type: 3} propertyPath: VelocityModule.orbitalZ.scalar - value: 0.1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4767480441459301921, guid: 9615c7fd8e252c145b562238bcfc1b23, type: 3} propertyPath: InitialModule.startSpeed.scalar @@ -261,7 +300,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4767480441459301921, guid: 9615c7fd8e252c145b562238bcfc1b23, type: 3} propertyPath: InitialModule.startLifetime.scalar - value: 1 + value: 1.5 objectReference: {fileID: 0} - target: {fileID: 4767480441459301921, guid: 9615c7fd8e252c145b562238bcfc1b23, type: 3} propertyPath: VelocityModule.speedModifier.scalar diff --git a/Assets/Prefabs/Nimble Zone.prefab b/Assets/Prefabs/Nimble Zone.prefab index dd2f56c..7e80ffd 100644 --- a/Assets/Prefabs/Nimble Zone.prefab +++ b/Assets/Prefabs/Nimble Zone.prefab @@ -92,12 +92,12 @@ MonoBehaviour: zone: 0 rippleFrequency: 12 rippleDensity: 14 - rippleAmplitude: 0.1 + rippleAmplitude: 0.05 rippleRadius: 1.62 - rippleDuration: 1.2 + rippleDuration: 2 impactVelocityModifier: 1 - minImpact: 0.5 - maxVelocity: 70 + minImpact: 0.4 + maxVelocity: 100 --- !u!1001 &4415206198913254025 PrefabInstance: m_ObjectHideFlags: 0 @@ -165,7 +165,7 @@ PrefabInstance: - target: {fileID: -7635826562936255635, guid: 24300c11f962a8e4f9f8125bd2843705, type: 3} propertyPath: m_Materials.Array.data[0] value: - objectReference: {fileID: 2100000, guid: 78cb0d90576fe15439f3fd294d5eaaba, type: 2} + objectReference: {fileID: 2100000, guid: 1338539d65504394f8f2dd0a628dc423, type: 2} - target: {fileID: 919132149155446097, guid: 24300c11f962a8e4f9f8125bd2843705, type: 3} propertyPath: m_Name value: Hex Sphere diff --git a/Assets/Prefabs/UI/Offscreen Indicator Arrow.prefab b/Assets/Prefabs/UI/Offscreen Indicator Arrow.prefab new file mode 100644 index 0000000..cf14930 --- /dev/null +++ b/Assets/Prefabs/UI/Offscreen Indicator Arrow.prefab @@ -0,0 +1,130 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &5312737329671837370 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3436878586287575061} + m_Layer: 0 + m_Name: Offscreen Indicator Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3436878586287575061 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5312737329671837370} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 3} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6331211089644692183} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8144415942864253312 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6331211089644692183} + - component: {fileID: 4035525861259110635} + - component: {fileID: 7074929712647586998} + - component: {fileID: 8551325256346997925} + m_Layer: 0 + m_Name: Indicator3D + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6331211089644692183 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8144415942864253312} + 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: 3436878586287575061} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4035525861259110635 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8144415942864253312} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed8517591bfdc6b4398d396bc386d5a2, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!33 &7074929712647586998 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8144415942864253312} + m_Mesh: {fileID: 3613567641014311022, guid: d912959aabd6a3e439552066ae82eb71, type: 3} +--- !u!23 &8551325256346997925 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8144415942864253312} + 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: ede4fd81521fbf14290f76017e016f6d, 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} diff --git a/Assets/Prefabs/UI/Offscreen Indicator Arrow.prefab.meta b/Assets/Prefabs/UI/Offscreen Indicator Arrow.prefab.meta new file mode 100644 index 0000000..6bcbaa9 --- /dev/null +++ b/Assets/Prefabs/UI/Offscreen Indicator Arrow.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: fac9d84719a43574f9cfbc19b53aee98 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/GravityChanger.cs b/Assets/Scripts/GravityChanger.cs index 908d816..4403de0 100644 --- a/Assets/Scripts/GravityChanger.cs +++ b/Assets/Scripts/GravityChanger.cs @@ -6,7 +6,6 @@ using static GravityFunctionality.GravityHelpers; namespace GravityFunctionality { - [ExecuteInEditMode] public class GravityChanger : MonoBehaviour { private static ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); diff --git a/Assets/Scripts/Indicator3D.cs b/Assets/Scripts/Indicator3D.cs new file mode 100644 index 0000000..6318676 --- /dev/null +++ b/Assets/Scripts/Indicator3D.cs @@ -0,0 +1,25 @@ +using System.Collections; +using System.Collections.Generic; +using PrimeTween; +using UnityEngine; + +[ExecuteInEditMode] +public class Indicator3D : MonoBehaviour +{ + + void OnEnable() + { + WaitTillSpawnThenAnimate(); + } + private async void WaitTillSpawnThenAnimate() + { + await Tween.Delay(0.1f); + Sequence.Create(cycles: -1, CycleMode.Rewind, Ease.Default) + + .Group(Tween.LocalPosition(gameObject.transform, + gameObject.transform.localPosition - Vector3.forward * 0.001f, 4)) + + .Group(Tween.LocalRotation(gameObject.transform, + gameObject.transform.localRotation * Quaternion.AngleAxis(180, Vector3.forward), 4)); + } +} diff --git a/Assets/Scripts/Indicator3D.cs.meta b/Assets/Scripts/Indicator3D.cs.meta new file mode 100644 index 0000000..5a22d9d --- /dev/null +++ b/Assets/Scripts/Indicator3D.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ed8517591bfdc6b4398d396bc386d5a2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/UI/OffScreenIndicatorManager.cs b/Assets/Scripts/UI/OffScreenIndicatorManager.cs new file mode 100644 index 0000000..1c82c45 --- /dev/null +++ b/Assets/Scripts/UI/OffScreenIndicatorManager.cs @@ -0,0 +1,120 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Managers; +using UnityEngine; + +public class OffScreenIndicatorManager : MonoBehaviour +{ + public GameObject[] Targets; + public GameObject IndicatorPrefab; + public Color DefaultColor = Color.yellow; + + private MeshRenderer _meshRenderer; + + private Camera _camera; + private Dictionary _targetIndicators = new(); + + // Start is called before the first frame update + void Start() + { + _camera = Camera.main; + + foreach (var target in Targets) + AddTarget(target); + } + + // Update is called once per frame + void Update() + { + if (_camera == null) + { + if (Camera.main != null) + _camera = Camera.main; + return; + } + bool targetRemoved = false; + foreach (KeyValuePair entry in _targetIndicators) + { + var target = entry.Key; + var indicator = entry.Value; + + if (target != null) + { + UpdateTarget(target, indicator); + } + else + { + targetRemoved = true; + } + } + + if (!targetRemoved) + return; + + GameObject[] targets = _targetIndicators.Keys.ToArray(); + for (int i = 0; i < targets.Count(); ++i) + { + if (targets[i] == null) + { + Destroy(_targetIndicators[targets[i]]); + _targetIndicators.Remove(targets[i]); + } + } + } + + public void AddTarget(GameObject target) + { + AddTarget(target, DefaultColor); + } + + public void AddTarget(GameObject target, Color color) + { + var indicator = Instantiate(IndicatorPrefab); + _meshRenderer = indicator.GetComponentInChildren(); + indicator.SetActive(false); + indicator.transform.SetParent(_camera.transform); + _targetIndicators.Add(target, indicator); + + MaterialPropertyBlock materialPropertyBlock = new(); + materialPropertyBlock.SetColor("_BaseColor", color); + _meshRenderer.SetPropertyBlock(materialPropertyBlock); + } + + private void UpdateTarget(GameObject target, GameObject indicator) + { + if (MatchManager.G.matchState != MatchState.Match || target == null + || !target.activeInHierarchy) + { + indicator.SetActive(false); + return; + } + var screenPos = _camera.WorldToViewportPoint(target.transform.position); + bool isOffScreen = screenPos.x <= 0 || screenPos.x >= 1 || + screenPos.y <= 0 || screenPos.y >= 1; + if (!isOffScreen) + { + indicator.SetActive(false); + return; + } + indicator.SetActive(true); + + float margin_x = 0.05f; + float margin_y = 0.05f; + + screenPos.x = Mathf.Clamp(screenPos.x, margin_x, 1 - margin_x); + screenPos.y = Mathf.Clamp(screenPos.y, margin_y, 1 - margin_y); + screenPos.z = Mathf.Clamp(screenPos.z, 0, 1); + + var worldPosition = _camera.ViewportToWorldPoint(screenPos); + + var cameraDirection = _camera.transform.position - worldPosition; + + indicator.transform.position = worldPosition; + + var virtualIndicatorPosition = worldPosition + _camera.transform.localPosition.z * cameraDirection; + + Vector3 direction = target.transform.position - virtualIndicatorPosition; + indicator.transform.rotation = Quaternion.FromToRotation(new Vector3(0, 0, 1), direction); + } +} diff --git a/Assets/Scripts/UI/OffScreenIndicatorManager.cs.meta b/Assets/Scripts/UI/OffScreenIndicatorManager.cs.meta new file mode 100644 index 0000000..6b29563 --- /dev/null +++ b/Assets/Scripts/UI/OffScreenIndicatorManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2a453b9260772e8488c230aa7eeca5ff +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/UI/Health&Boost Concept.aseprite b/Assets/UI/Health&Boost Concept.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..ca797c26df3678be9438db5f16d555d71bd91b97 GIT binary patch literal 72464 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