Beispiel #1
0
        public void Set(Visual visual, ref InternalSettings settings)
        {
            var background = visual.Background;
            var handle     = visual.Handle;

            Vector2 center = new Vector2(0.5f, 0.5f);

            var midAnch = Vector2.zero;
            var anch    = background.anchorMin;

            midAnch.x = (anch.x + anch.y) / 2f;
            anch      = background.anchorMax;
            midAnch.y = (anch.x + anch.y) / 2f;
            anch      = center - anch;
            settings.startPosition = background.anchoredPosition -= anch * visual.Base.rect.size;

            background.anchorMin = center;
            background.anchorMax = center;
            background.pivot     = center;

            handle.anchorMin        = center;
            handle.anchorMax        = center;
            handle.pivot            = center;
            handle.anchoredPosition = Vector2.zero;
        }
 public void Handle(Visual visual, InternalSettings internalSettings, ref InputMeta meta)
 {
     if (meta.magnitude > internalSettings.handleRange)
     {
         meta.vector = meta.normalized * internalSettings.handleRange;
     }
 }
Beispiel #3
0
 public void Handle(Visual visual, InternalSettings internalSettings, ref InputMeta meta)
 {
     if (meta.magnitude > internalSettings.handleRange)
     {
         Vector2 difference = meta.normalized * (meta.magnitude - internalSettings.handleRange) * internalSettings.radius;
         visual.Background.anchoredPosition += difference;
     }
 }
Beispiel #4
0
        public void Handle(Visual visual, InternalSettings settings, Vector2 position)
        {
            visual.Background.anchoredPosition = ScreenPointToAnchoredPosition();

            Vector2 ScreenPointToAnchoredPosition()
            {
                if (RectTransformUtility.ScreenPointToLocalPointInRectangle(visual.Base, position, settings.camera, out Vector2 localPoint))
                {
                    Vector2 pivotOffset = visual.Base.pivot * visual.Base.sizeDelta;
                    return(localPoint - (visual.Background.anchorMax * visual.Base.sizeDelta) + pivotOffset);
                }
                return(Vector2.zero);
            }
        }
 public void Handle(Visual visual, InternalSettings settings)
 {
     visual.Handle.anchoredPosition = Vector2.zero;
 }
Beispiel #6
0
 public void Set(Visual visual, ref InternalSettings settings)
 {
     visual.Background.gameObject.SetActive(Value);
 }
Beispiel #7
0
 public void Handle(Visual visual, InternalSettings settings, Vector2 position)
 {
     visual.Background.gameObject.SetActive(Value);
 }
 public void Handle(Visual visual, InternalSettings settings)
 {
     visual.Background.anchoredPosition = settings.startPosition;
 }