12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- 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);
- }
- }
- }
|