コード例 #1
0
    private static void MoveHandle(Waypoint keyframe, Vector3 position, float size, float offset, Action <Vector3> applyFunction)
    {
        EditorGUI.BeginChangeCheck();
        Vector3 updatedPosition = CustomHandles.MoveHandle(position, offset, size);

        updatedPosition = GlobalTransform.InverseTransfomed(updatedPosition);
        if (EditorGUI.EndChangeCheck())
        {
            Undo.RecordObject(keyframe, "Change Waypoint");
            applyFunction.Invoke(updatedPosition);
            keyframe.Drone.UpdateView();
        }
    }
コード例 #2
0
    private static void FreeMove(Waypoint keyframe, Vector3 position, float size, Handles.CapFunction capFunction, Action <Vector3> applyFunction)
    {
        EditorGUI.BeginChangeCheck();
        Vector3 newPosition = Handles.FreeMoveHandle(position, Quaternion.identity, size, DefaultSnap, capFunction);

        newPosition = GlobalTransform.InverseTransfomed(newPosition);
        if (EditorGUI.EndChangeCheck())
        {
            Undo.RecordObject(keyframe, "Change Waypoint");
            applyFunction.Invoke(newPosition);
            keyframe.Drone.UpdateView();
        }
    }