Example #1
0
 void OnSceneDragableMouseDown(ISceneDragable currentSceneDragable)
 {
     currentSceneDragable.SceneDragableMesh.enabled = false;
     distance                = Vector3.Distance(cam.transform.position, currentSceneDragable.SceneDragableTransform.position);
     initialPosition         = currentSceneDragable.SceneDragableTransform.position;
     OnSceneDragableActions += OnSceneDragableMouseDrag;
 }
 void DropSceneDragableToDropPosition(ISceneDragable currentSceneDragable)
 {
     OnDropActions?.Invoke();
     OnDropingMoveActions += ResetMeshColliderAtEndDrop;
     StartCoroutine(MoveDropeable(currentSceneDragable));
     SceneDragableFeature.OnDrop -= DropSceneDragableToDropPosition;
 }
    IEnumerator MoveDropeable(ISceneDragable currentSceneDragable)
    {
        float sMoothing = 10.0f;

        while (Vector3.Distance(currentSceneDragable.SceneDragableTransform.position, DropPosition) > 0.05f)
        {
            currentSceneDragable.SceneDragableTransform.position = Vector3.Lerp(currentSceneDragable.SceneDragableTransform.position, DropPosition, sMoothing * Time.deltaTime);
            yield return(null);
        }
        currentSceneDragable.SceneDragableTransform.position = DropPosition;
        OnDropingMoveActions?.Invoke(currentSceneDragable);
    }
 void ResetMeshColliderAtEndDrop(ISceneDragable currentSceneDragable)
 {
     currentSceneDragable.SceneDragableMesh.enabled = true;
     OnDropingMoveActions -= ResetMeshColliderAtEndDrop;
 }
Example #5
0
 void SceneDragableResetPosition(ISceneDragable currentSceneDragable)
 {
     currentSceneDragable.SceneDragableTransform.position = initialPosition;
     currentSceneDragable.SceneDragableMesh.enabled       = true;
     OnSceneDragableActions -= SceneDragableResetPosition;
 }
Example #6
0
 void OnSceneDragableMouseUp(ISceneDragable currentSceneDragable)
 {
     OnDrop?.Invoke(currentSceneDragable);
     OnSceneDragableDragEnd?.Invoke();
     OnSceneDragableActions -= OnSceneDragableMouseUp;
 }
Example #7
0
 void OnSceneDragableMouseDrag(ISceneDragable currentSceneDragable)
 {
     ray = cam.ScreenPointToRay(ValidMousePosition);
     currentSceneDragable.SceneDragableTransform.position = ray.GetPoint(distance);
 }
 private void OnMouseDrag()
 {
     CurrentDragable = this;
 }