Exemplo n.º 1
0
    private void OnDragDrop(Event e)
    {
        DragEvent dragEvent = (DragEvent)e;

        //Debug.Log("OnDragDrop: " + e.Target.GetType().Name);
        Component src  = dragEvent.DragInitiator; //(UiComponent)dragEvent.DragSource.Formats["control"];
        Component dest = (Component)e.Target;

        Panel srcPanel = _pnlSource.ContentContains(src) ? _pnlSource : _pnlDest;

        if (dest == _pnlDest.ContentGroup)
        {
            srcPanel.RemoveContentChild(src);
            _pnlDest.AddContentChild(src);
        }
        else if (_pnlDest.ContentContains(dest))
        {
            srcPanel.RemoveContentChild(src); // NOTE: needed for drag&drop, because src and dest could be the same
            _pnlDest.AddContentChildAt(src, _pnlDest.GetContentChildIndex(dest));
        }

        AudioPlayerMapper.GetDefault().PlaySound("drag_drop", new AudioOption(AudioOptionType.Volume, 0.3f));
    }