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..091a568 100644
--- a/Assets/Scripts/Core/LockOnManager.cs
+++ b/Assets/Scripts/Core/LockOnManager.cs
@@ -5,16 +5,44 @@ 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