public void StartDrag(GObject source, string icon, object sourceData, int touchPointID = -1)
{
if (_agent.parent != null)
return;
_sourceData = sourceData;
_agent.url = icon;
GRoot.inst.AddChild(_agent);
Vector2 pt = source.LocalToGlobal(new Vector2(0, 0));
_agent.SetXY(pt.x, pt.y);
_agent.StartDrag(null, touchPointID);
}