private void OnDrawGizmos() { bool selected = Selection.Contains(gameObject); var isometricGrid = FindObjectOfType <IsometricGrid>(); if (isometricGrid != null && !isometricGrid.ShowSpritesLines && !selected) { return; } var oldColor = Gizmos.color; var p0 = IsometricGrid.TwoDToIso(_point0.x, _point0.y); var p1 = IsometricGrid.TwoDToIso(_point1.x, _point0.y); var p2 = IsometricGrid.TwoDToIso(_point1.x, _point1.y); var p3 = IsometricGrid.TwoDToIso(_point0.x, _point1.y); Gizmos.color = selected ? Color.cyan : Color.blue; Gizmos.DrawLine(new Vector3(p0.x, p0.y, 0.0f), new Vector3(p1.x, p1.y, 0.0f)); Gizmos.DrawLine(new Vector3(p1.x, p1.y, 0.0f), new Vector3(p2.x, p2.y, 0.0f)); Gizmos.DrawLine(new Vector3(p2.x, p2.y, 0.0f), new Vector3(p3.x, p3.y, 0.0f)); Gizmos.DrawLine(new Vector3(p3.x, p3.y, 0.0f), new Vector3(p0.x, p0.y, 0.0f)); Gizmos.color = oldColor; }
void SetWorldPosition() { Vector3 position = IsometricGrid.TwoDToIso(_position.x, _position.y); position.z = transform.position.z; transform.position = position; transform.hasChanged = false; }