diff --git a/Assets/Core/UI/In-Game/Graphics.meta b/Assets/Core/UI/In-Game/Graphics.meta new file mode 100644 index 0000000..2b10c10 --- /dev/null +++ b/Assets/Core/UI/In-Game/Graphics.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e45b89ba6f77d1143bc70dc6be5a042c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Core/UI/In-Game/Graphics/Icon-LockOnTarget.png b/Assets/Core/UI/In-Game/Graphics/Icon-LockOnTarget.png new file mode 100644 index 0000000..d836753 Binary files /dev/null and b/Assets/Core/UI/In-Game/Graphics/Icon-LockOnTarget.png differ diff --git a/Assets/Core/UI/In-Game/Graphics/Icon-LockOnTarget.png.meta b/Assets/Core/UI/In-Game/Graphics/Icon-LockOnTarget.png.meta new file mode 100644 index 0000000..952fe07 --- /dev/null +++ b/Assets/Core/UI/In-Game/Graphics/Icon-LockOnTarget.png.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: fca1c462b5714044698de6793787093a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + 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: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + 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: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + 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: 4 + 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: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Core/UI/In-Game/Layouts/BlankFullSizeUILayout.uxml b/Assets/Core/UI/In-Game/Layouts/BlankFullSizeUILayout.uxml index 41e0d13..d325e22 100644 --- a/Assets/Core/UI/In-Game/Layouts/BlankFullSizeUILayout.uxml +++ b/Assets/Core/UI/In-Game/Layouts/BlankFullSizeUILayout.uxml @@ -1,3 +1,8 @@ - + + + + + + diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index c7b14eb..70b4c35 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -2922,7 +2922,7 @@ MonoBehaviour: BindingMode: 0 PositionDamping: {x: 1, y: 1, z: 1} AngularDampingMode: 0 - RotationDamping: {x: 0.7, y: 0.7, z: 0.7} + RotationDamping: {x: 0, y: 0, z: 0} QuaternionDamping: 1 OrbitStyle: 1 Radius: 10 @@ -6759,6 +6759,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: lockOnDocument: {fileID: 1223043171} + lockOnTarget: {fileID: 1379573502} --- !u!1 &2024357130 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Core/LockOnManager.cs b/Assets/Scripts/Core/LockOnManager.cs index 5ac1a33..84ccb4f 100644 --- a/Assets/Scripts/Core/LockOnManager.cs +++ b/Assets/Scripts/Core/LockOnManager.cs @@ -5,16 +5,46 @@ using UnityEngine.UIElements; public class LockOnManager : MonoBehaviour{ [ShowInInspector] public UIDocument lockOnDocument; - [ShowInInspector, SerializeField] - public ILockOnTarget lockOnTarget; + public GameObject lockOnTarget; + + private Label elementLabelName; + private VisualElement elementRoot; // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() { + if (lockOnTarget.GetComponent() == null) { + Debug.LogError($"Game Object {lockOnTarget.name} does not implement the ILockOnTarget interface. Not processing lock-on actions!"); + } + + + elementRoot = lockOnDocument.rootVisualElement.Query("LockOnGroup"); + elementLabelName = lockOnDocument.rootVisualElement.Query