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