maint: ILockOnTarget moved to own file

This commit is contained in:
Chris
2025-12-09 15:18:34 -05:00
parent ba23cf7489
commit 312d4da6b6
3 changed files with 52 additions and 48 deletions

View File

@@ -0,0 +1,49 @@
using UnityEngine;
namespace Reset.Units{
public interface ILockOnTarget{
public float lockonTargetRadius{ set; get; }
public bool lockonDebug{ set; get; }
public float lockonRaycastVerticalOffset{ set; get; }
Transform transform{ get; }
GameObject gameObject{ get; }
abstract void OnTargetDelete();
void Help(){
SafelyDeleteTarget();
}
public Vector3 GetReticlePosition(){
float upValue = 0f;
if (gameObject.GetComponent<Renderer>()) {
Bounds objectBounds = gameObject.GetComponent<Renderer>().bounds;
upValue = objectBounds.size.y;
upValue = 4f;
}
Vector3 reticlePosition =
new Vector3(transform.position.x, transform.position.y + upValue, transform.position.z);
return reticlePosition;
}
public void SafelyDeleteTarget(){
// gameObject.
foreach (LockOnManager.ActiveLockOnTarget target in LockOnManager.Instance.activeTargets) {
if (target.gameObject == this.gameObject) {
GameObject clone = new GameObject
{ name = $"Target Clone of {gameObject.name}", transform = { position = transform.position } };
target.gameObject = clone;
target.cinemachineTarget.Object = clone.transform;
LockOnManager.Instance.QueueTargetRemoval(clone, true);
}
}
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 3cf599680bc840b59ee6ea3cd0114ab8
timeCreated: 1765311171

View File

@@ -1,54 +1,6 @@
using System;
using UnityEngine;
namespace Reset.Units{
public interface ILockOnTarget{
public float lockonTargetRadius{ set; get; }
public bool lockonDebug{ set; get; }
public float lockonRaycastVerticalOffset{ set; get; }
Transform transform{ get; }
GameObject gameObject{ get; }
abstract void OnTargetDelete();
void Help(){
SafelyDeleteTarget();
}
public Vector3 GetReticlePosition(){
float upValue = 0f;
if (gameObject.GetComponent<Renderer>()) {
Bounds objectBounds = gameObject.GetComponent<Renderer>().bounds;
upValue = objectBounds.size.y;
upValue = 4f;
}
Vector3 reticlePosition =
new Vector3(transform.position.x, transform.position.y + upValue, transform.position.z);
return reticlePosition;
}
public void SafelyDeleteTarget(){
// gameObject.
foreach (LockOnManager.ActiveLockOnTarget target in LockOnManager.Instance.activeTargets) {
if (target.gameObject == this.gameObject) {
GameObject clone = new GameObject
{ name = $"Target Clone of {gameObject.name}", transform = { position = transform.position } };
target.gameObject = clone;
target.cinemachineTarget.Object = clone.transform;
LockOnManager.Instance.QueueTargetRemoval(clone, true);
}
}
}
}
}
public class PlayerCamera : MonoBehaviour{
void Start(){