public void DrawCap(Vector3 pos, Vector3 startPos, Vector3 endPos, Quaternion rot, Color shadowColor, Color lineColor) { if (FlowSystem.GetZoom() < 1f) { return; } if (this.arrow == null) { this.arrow = Resources.Load <Texture2D>("UI.Windows/Flow/Arrow"); } var size = 12f; size /= FlowSystem.GetZoom(); //pos = this.editor.zoomDrawer.ConvertScreenCoordsToZoomCoords(pos, topLeft: true); var scrollPos = -FlowSystem.GetScrollPosition(); var offset = -8f; if (this.editor.scrollRect.Contains(new Vector3(pos.x - scrollPos.x + FlowSystemEditorWindow.SETTINGS_WIDTH + offset, pos.y - scrollPos.y + FlowSystemEditorWindow.TOOLBAR_HEIGHT + offset, 0f)) == false) { return; } var shadowOffset = Vector3.one * 1f; shadowOffset.z = 0f; var v1 = startPos - endPos; v1.x = -v1.x; var v2 = Vector3.left; var angle = Mathf.Atan2( Vector3.Dot(Vector3.back, Vector3.Cross(v1, v2)), Vector3.Dot(v1, v2)) * Mathf.Rad2Deg; var oldColor = GUI.color; GUI.color = shadowColor; GUIExt.DrawTextureRotated(new Rect(pos.x - size * 0.5f + shadowOffset.x, pos.y - size * 0.5f + shadowOffset.y, size, size), arrow, -angle + 180f); GUI.color = lineColor; GUIExt.DrawTextureRotated(new Rect(pos.x - size * 0.5f, pos.y - size * 0.5f, size, size), arrow, -angle + 180f); GUI.color = oldColor; /*Handles.color = shadowColor; * Handles.ConeCap(-1, pos + shadowOffset, rot, 15f); * Handles.color = lineColor; * Handles.ConeCap(-1, pos, rot, 15f);*/ }