public virtual bool OnPointerPositionChange(Vector2 pos, Vector2 delta) { if (decorator != null) { decorator.OnPointerPositionChange(pos, delta); } return(false); }
protected virtual bool OnPointerPositionChange(Vector2 pos, Vector2 delta) { if (!inFocus) { return(false); } PointerEventData pointerData = new PointerEventData(MenuManager.Instance.eventSystem); pointerData.position = pos; List <RaycastResult> results = new List <RaycastResult>(); raycaster.Raycast(pointerData, results); foreach (RaycastResult result in results) { MenuControl[] controls = result.gameObject.GetComponents <MenuControl>(); foreach (MenuControl control in controls) { if (!control.GetType().IsSubclassOf(typeof(MenuControlDecorator))) { if (control.OnPointerPositionChange(pos, delta, this)) { return(true); } else if (selectedItem != control) { selectedItemCord = control.menuItemCord; return(true); } } } } if (decorator != null) { decorator.OnPointerPositionChange(pos, delta); } return(false); }