private static void OnEndNewTransitionEvent() { if (StateTransitionGUI.startNewTranstion) { Event e = Event.current; if (e.type == EventType.MouseMove) { StateTransitionGUI.toPosition = StateMachineUtils.MousePos2MachineGridPos(e.mousePosition); e.Use(); } if (e.isMouse) { if (e.button == 0) { foreach (var item in MachineStateGUIDataControl.allMachineStateGUI) { if (StateMachineUtils.MachineGridRectContainsMousePos(e.mousePosition, item.GUIRect)) { MachineDataController.AddNewTransitionGUI(StateTransitionGUI.startPositionMs, item.state); break; } } StateTransitionGUI.startNewTranstion = false; e.Use(); StateMachineEditorWindow.Instance.wantsMouseMove = false; } else if (e.button == 1) { StateTransitionGUI.startNewTranstion = false; e.Use(); StateMachineEditorWindow.Instance.wantsMouseMove = false; } } } }
public static StateTransitionArrowLine FindClosestStateTransitionArrowLine(Vector2 mousePosition) { Vector2 v2 = StateMachineUtils.MousePos2MachineGridPos(mousePosition); StateTransitionArrowLine result = null; float lenth = float.PositiveInfinity; foreach (var item in allStateTransitionArrowLineList) { float temoLenth; if (item.IsLineSelf) { temoLenth = Vector2.Distance(item.LineSelfOneTrianglePoints[3], v2); } else { temoLenth = HandleUtility.DistancePointLine(v2, item.UseFormLinePosition, item.UseToLinePosition); } if (temoLenth < lenth && temoLenth < 10) { lenth = temoLenth; result = item; } } return(result); }
private static void AddNewMachineStateGUIOnMouseMenu(object mousePos) { Vector2 mPos = (Vector2)mousePos; mPos = StateMachineUtils.MousePos2MachineGridPos(mPos); MachineDataController.AddNewMachineStateGUI(mPos); Debug.Log("AddNewMachineStateGUIOnMouseMenu :" + mPos); }
private static void OnEndDragStateMachine() { if (isDragingStateItem) { Event e = Event.current; if (e.button == 0 && e.type == EventType.mouseDrag) { Vector2 pos = StateMachineUtils.MousePos2MachineGridPos(e.mousePosition); pos = pos - MachineStateGUI.size / 2f; dragItem.position = pos; e.Use(); } else { isDragingStateItem = false; dragItem = null; StateMachineEditorWindow.Instance.wantsMouseMove = false; } } }