Files
BABA_YAGA/Assets/Scripts/Player/Generic/vAimCanvas.cs
2026-06-04 10:42:23 +07:00

63 lines
2.0 KiB
C#

using UnityEngine;
using UnityEngine.Events;
namespace Invector.vShooter
{
public class vAimCanvas : MonoBehaviour
{
public RectTransform aimTarget, aimCenter;
public bool useScopeTransition = true;
public bool scaleAimWithMovement = true;
[Tooltip("Set aim center to same position of aim target ")]
public bool aimCenterToAimTarget;
public float scaleWithMovement = 2;
public float smoothChangeScale = 2;
public float smoothTransitionIn = 10f;
public float smoothTransitionOut = 5f;
[Range(0, 1)]
public float movementSensibility = 0.1f;
public UnityEvent onEnableAim;
public UnityEvent onDisableAim;
public UnityEvent onCheckvalidAim;
public UnityEvent onCheckInvalidAim;
public UnityEvent onEnableScopeCamera;
public UnityEvent onDisableScopeCamera;
public UnityEvent onEnableScopeUI;
public UnityEvent onDisableScopeUI;
[HideInInspector]
public bool isValid;
[HideInInspector]
public bool isAimActive;
[HideInInspector]
public bool isScopeCameraActive;
[HideInInspector]
public bool isScopeUIActive;
[HideInInspector]
public Vector2 sizeDeltaTarget;
[HideInInspector]
public Vector2 sizeDeltaCenter;
protected virtual void Start()
{
onDisableScopeCamera.Invoke();
onDisableScopeUI.Invoke();
onDisableAim.Invoke();
if (aimCenter)
sizeDeltaCenter = aimCenter.sizeDelta;
if (aimTarget)
sizeDeltaTarget = aimTarget.sizeDelta;
}
public void DisableAll()
{
onDisableScopeCamera.Invoke();
onDisableScopeUI.Invoke();
onDisableAim.Invoke();
isValid = false;
isAimActive = false;
isScopeCameraActive = false;
isScopeUIActive = false;
}
}
}