Drag & Drop
SkillPal: PRO contains two differing Drag&Drop Operation classes which can be found in /SkillPal/BP/Widgets/DragAndDrop/.
BP_DD_Draggable
This is the main drag & drop operation which is used for drag&dropping widgets of type W_Draggable.
Some examples would be: W_SkillTree, W_CharacterFrame, W_TargetFrame.
BP_DD_Skill
This is the drag & drop operation which is used for drag&dropping W_ActionbarSlot(s) & W_SkillEntry(ies).
How are these operations used?
These operations are used for differing cases, such as when a Draggable widget is being dragged or an ActionbarSlot/SkillEntry is being dragged.
Each of these operations are created inside the “OnDragDetected” function which is overridden in W_Draggable & all slot widgets (such as W_ActionbarSlot & W_SkillEntry).
Similarly, most Widgets have their “OnDrop” function overridden, which will intercept this operation.
Through this, we can cast to the operations above and execute logic accordingly.
(Example image from W_HUD → OnDrop)