public static void MouseUp(this WavesEditor wavesEditor, Vector2 mousePosition)
 {
     _mousePsition = Vector2.zero;
     _grabbedCollider = null;
 }
    private static void DrawSpwanItem(SpawnedItemDataObject spwanItem, Rect previewRect, WavesEditor wavesEditor)
    {
        Texture2D itemTexture = null;
        switch(spwanItem.SpwanedColor)
        {
            case eSpwanedColorType.BottomLeft:
                {
                    itemTexture = wavesEditor._leftBottomTexture;
                    break;
                }
            case eSpwanedColorType.BottomRight:
                {
                    itemTexture = wavesEditor._rightBottomTexture;
                    break;
                }
            case eSpwanedColorType.RandomCorner:
                {
                    itemTexture = wavesEditor._randomTexture;
                    break;
                }
            case eSpwanedColorType.TopLeft:
                {
                    itemTexture = wavesEditor._leftTopTexture;
                    break;
                }
            case eSpwanedColorType.TopRight:
                {
                    itemTexture = wavesEditor._rightTopTexture;
                    break;
                }
        }

        Rect itemRect = RectForSpwanItemInPreview(previewRect, spwanItem.XPosition);

        Rect arrowRect = DrawForceArrow(itemRect.position, spwanItem.ForceVector, wavesEditor._arrowTexture);

        Graphics.DrawTexture(itemRect, itemTexture);

        WavesEditorCollider itemCollider = null;
        WavesEditorCollider arrowCollideer = null;
        foreach (WavesEditorCollider collider in _collidersList)
        {
            if (collider.ColliderType == WavesEditorCollider.eColliderType.Item && collider.SpwanItem == spwanItem)
            {
                itemCollider = collider;
            }
            if (collider.ColliderType == WavesEditorCollider.eColliderType.Arrow && collider.SpwanItem == spwanItem)
            {
                arrowCollideer = collider;
            }
        }

        if (itemCollider == null)
        {
            itemCollider = new WavesEditorCollider();
            itemCollider.SpwanItem = spwanItem;
            itemCollider.ColliderType = WavesEditorCollider.eColliderType.Item;
            _collidersList.Add(itemCollider);
        }

        if (arrowCollideer == null)
        {
            arrowCollideer = new WavesEditorCollider();
            arrowCollideer.SpwanItem = spwanItem;
            arrowCollideer.ColliderType = WavesEditorCollider.eColliderType.Arrow;
            _collidersList.Add(arrowCollideer);
        }

        if (itemCollider != null)
        {
            itemCollider.Center = itemRect.center;
            itemCollider.Radius = 64f;
        }

        if (arrowCollideer != null)
        {
            arrowCollideer.Center = new Vector2(itemRect.center.x + spwanItem.ForceVector.x, itemRect.center.y - spwanItem.ForceVector.y);
            arrowCollideer.Radius = 64f;
        }
    }
    public static void MouseDown(this WavesEditor wavesEditor, Vector2 mousePosition)
    {
        _mousePsition = mousePosition;

        foreach (WavesEditorCollider collider in _collidersList)
        {
            if (Vector2.Distance(_mousePsition, collider.Center) < collider.Radius * 0.5f)
            {
                _grabbedCollider = collider;
                break;
            }
        }
    }