zombie_mp/Assets/HQ FPS Weapons/Scripts/UserInterface/HUD/Equipment/DynamicCrosshair.cs
Sewmina Dilshan 68183e5317 initial
2021-08-23 13:28:33 +05:30

59 lines
1.2 KiB
C#

using UnityEngine;
using UnityEngine.UI;
namespace HQFPSWeapons.UserInterface
{
/// <summary>
///
/// </summary>
public class DynamicCrosshair : MonoBehaviour
{
public float Distance { get { return m_Distance; } }
[SerializeField]
[Clamp(0f, 256f)]
private float m_Distance = 32f;
[Header("Crosshair Parts")]
[SerializeField]
private Image m_Left = null;
[SerializeField]
private Image m_Right = null;
[SerializeField]
private Image m_Down = null;
[SerializeField]
private Image m_Up = null;
public void SetActive(bool active)
{
m_Left.enabled = m_Right.enabled = m_Down.enabled = m_Up.enabled = active;
}
public void SetDistance(float distance)
{
m_Left.rectTransform.anchoredPosition = new Vector2(-distance, 0f);
m_Right.rectTransform.anchoredPosition = new Vector2(distance, 0f);
m_Down.rectTransform.anchoredPosition = new Vector2(0f, -distance);
m_Up.rectTransform.anchoredPosition = new Vector2(0f, distance);
m_Distance = distance;
}
public void SetColor(Color color)
{
m_Left.color = m_Right.color = m_Down.color = m_Up.color = color;
}
private void OnValidate()
{
if(!Application.isPlaying)
SetDistance(m_Distance);
}
}
}