Example #1
0
        public static void SetUIDragDropEvent(GameObject go, object param, LuaFunction luafunc)
        {
            UIDrag uIDrag = go.GetComponent <UIDrag>();

            if (uIDrag == null)
            {
                uIDrag = go.AddComponent <UIDrag>();
            }
            if (uIDrag != null)
            {
                uIDrag.param = param;
            }
            UIDrop uIDrop = go.GetComponent <UIDrop>();

            if (uIDrop == null)
            {
                uIDrop = go.AddComponent <UIDrop>();
            }
            if (uIDrop != null)
            {
                uIDrop.param    = param;
                uIDrop.callback = delegate(object dragParam, object dropParam)
                {
                    luafunc.Call(new object[]
                    {
                        dragParam,
                        dropParam
                    });
                };
            }
        }
Example #2
0
    // end dragging
    public void OnEndDrag(PointerEventData eventData)
    {
        if (selected != this)
        {
            return;
        }
        var rt = gameObject.GetComponent <RectTransform>();

        selected = null;
        bool isPlay = false;

        if (gameObject.transform.position.y > -2.1f)
        {
            isPlay = true;
        }
        else
        {
            rt.localPosition = go;
        }

        bool r = (bool)Util.CallMethod("RoomRunStatic", "OnDragCard", gameObject, isPlay)[0];

        if (!r)
        {
            rt.localPosition = go;
        }
    }
Example #3
0
    public void OnDrop(PointerEventData data)
    {
        UIDrag component = data.pointerDrag.GetComponent <UIDrag>();

        if (!this.isFinish || !component.isFinish)
        {
            return;
        }
        this.isFinish = false;
        UIDrag myUIDrag = base.GetComponent <UIDrag>();

        if (myUIDrag)
        {
            myUIDrag.isFinish = false;
        }
        TweenPosition tweener = TweenPosition.Begin(this.mGO, 0.2f, component.m_originalPosition3D);

        tweener.SetOnFinished(delegate
        {
            UnityEngine.Object.DestroyImmediate(tweener, true);
            this.isFinish = true;
            if (myUIDrag)
            {
                myUIDrag.isFinish = true;
            }
        });
        component.m_originalPosition3D = this.mTrans.anchoredPosition3D;
        component.CUIDrop = this;
        if (this.callback != null)
        {
            this.callback(component.param, this.param);
        }
    }
Example #4
0
        private void InitEvent()
        {
            if (Data is IChickenBagItemUiData)//背包标题不需要
            {
                var data = Data as IChickenBagItemUiData;
                if (data.isBagTitle)
                {
                    return;
                }
            }

            EnterAction(null, null);
            eventTrigger = FindComponent <UIEventTriggerListener>(_viewModel.ResourceAssetName);
            if (eventTrigger != null)
            {
                eventTrigger.onClick = RightClickAction;
            }

            if (eventTrigger.isEnter && eventTrigger.onEnter != null)
            {
                eventTrigger.onEnter.Invoke(null, null);
            }
            uiDrog = FindComponent <UIDrag>(_viewModel.ResourceAssetName);
            if (uiDrog != null)
            {
                uiDrog.DragItem          = FindChildGo("ItemIcon").gameObject;
                uiDrog.OnEndDragCallback = DragCallbackAction;
            }
        }
 // v1.3 -Clear button added to delete all blocks from the BEProgrammingEnv
 //-- clear programming environment --
 public void BEClearCode()
 {
     for (int i = beTargetObject.beBlockGroupsList.Count - 1; i >= 0; i--)
     {
         UIDrag uiDrag = beTargetObject.beBlockGroupsList[i].GetComponent <UIDrag>();
         uiDrag.DragBlock();
     }
 }
Example #6
0
 void OnTriggerExit2D(Collider2D other)
 {
     var uIDrag = other.gameObject.GetComponent<UIDrag> ();
     if (DroppedObject == uIDrag && AllowRelease) {
         Debug.Log ("Releasing drag object");
         DroppedObject.Dropped = null;
         DroppedObject = null;
     }
 }
Example #7
0
 void OnTriggerEnter2D(Collider2D other)
 {
     if (!DroppedObject)
     {
         var uIDrag = other.gameObject.GetComponent<UIDrag> ();
         if (uIDrag != null && !uIDrag.Dropped) {
             WatchingObject = uIDrag;
         }
     }
 }
Example #8
0
 public void HideAndResetDroppedObject()
 {
     PSDebug.Log("HideAndResetDroppedObject {0}", DroppedObject);
     if (DroppedObject)
     {
         DroppedObject.gameObject.SetActive(false);
         DroppedObject.Reset();
         DroppedObject = null;
         WatchingObject = null;
     }
 }
Example #9
0
    private void Awake()
    {
        articleSprite = GetComponent <Image>();
        number        = GetComponentInChildren <Text>();
        uiDrag        = GetComponent <UIDrag>();
        canvas        = GetComponent <Canvas>();
        defaultSort   = canvas.sortingOrder;

        uiDrag.onDrag      += OnDrag;
        uiDrag.onStartDrag += OnStartDrag;
        uiDrag.onEndDrag   += OnEndDrag;
    }
Example #10
0
    //实例化地图数据  并且显示层  数据层   怪物层分离加入manager,识别使用唯一的key。
    void InstanceMapFloor(Dictionary <int, MapConfigAchieveItem> mapconfig)
    {
        GameObject mapObj    = (GameObject)Resources.Load("Prefab/MapObj");
        GameObject cardObj   = (GameObject)Resources.Load("Prefab/CardObj");
        Transform  mapParent = this.transform.Find("MapSystemObj");

        if (mapObj == null)
        {
            Debug.LogError("mapobj is null");
            return;
        }
        if (mapParent == null)
        {
            Debug.LogError("mapparent is null");
            return;
        }

        foreach (var a in mapconfig)
        {
            int        x              = a.Value.RacePosX;
            int        y              = a.Value.RacePosY;
            GameObject floorObj       = GameObject.Instantiate <GameObject>(mapObj);
            MapSingle  floorMapSingle = floorObj.GetComponent <MapSingle>();
            if (floorMapSingle == null)
            {
                continue;
            }

            floorObj.name               = (a.Key).ToString();
            floorObj.transform.parent   = mapParent;
            floorObj.transform.position = new Vector3(x, y, 0);

            if (a.Key == 10 && m_masterTran != null)
            {
                GameObject masterObj = GameObject.Instantiate <GameObject>(cardObj);
                masterObj.name             = "master";
                masterObj.transform.parent = floorObj.transform;
                UIDrag floorDrag = masterObj.GetComponent <UIDrag>();
                masterObj.transform.localPosition = new Vector3(0, 0, -20);
                if (floorDrag != null)
                {
                    floorDrag.SetInfo(a.Key, true, true);
                }
            }

            floorMapSingle.SetMapSingleDate(a.Key);
            MapSingleDate mapSingleDate = new MapSingleDate();
            mapSingleDate.MapObjId          = a.Key;
            mapSingleDate.MapSingleDateInfo = floorMapSingle;
            MapManager.Instance.SetMapInfo(a.Key, mapSingleDate);
        }
    }
Example #11
0
    private void Awake()
    {
        articleSprite = transform.GetComponent <Image>();
        number        = transform.Find("Text").GetComponent <Text>();

        uIDrag              = transform.GetComponent <UIDrag>();
        uIDrag.onStartDrag += this.OnStartDrag;
        uIDrag.onDrag      += this.OnDrag;
        uIDrag.onEndDrag   += this.OnEndDrag;

        canvas      = transform.GetComponent <Canvas>();
        defaultSort = canvas.sortingOrder;
    }
Example #12
0
 // Update is called once per frame
 void Update()
 {
     if (!Input.GetMouseButton (0) && DroppedObject == null && WatchingObject != null && WatchingObject.Dropped == null) {
         var dist = Vector2.Distance (transform.position, WatchingObject.gameObject.transform.position);
         if (dist < DistThreshold) {
             WatchingObject.transform.position = transform.position;
             WatchingObject.Dropped = this;
             DroppedObject = WatchingObject;
             WatchingObject = null;
             EventMessenger.Dispatch (new UIDropEvent { DropTarget = this, DroppedObject = DroppedObject });
         }
     }
 }
Example #13
0
    public override void OnInspectorGUI()
    {
        UIDrag uidrag = target as UIDrag;

        EditorTools.DrawUpdateKeyTextField(uidrag);

//		UISpriteEditor.DrawSpriteElement (uidrag.sprite);

//		base.OnInspectorGUI ();

        GUILayout.Space(10);

        drawSprite(uidrag);
    }
Example #14
0
    public void OnBeginDrag(PointerEventData eventData)
    {
        if (selected != null)
        {
            return;
        }
        selected = this;
        var rt = gameObject.GetComponent <RectTransform>();

        go = rt.localPosition;

        Util.CallMethod("RoomRunStatic", "OnDragStart");
        //C#调取Lua内脚本函数--选牌变色
        //LuaFramework.Util.CallMethod("MainSenceCtrl", "Awake");
    }
Example #15
0
        public override void Init(GameObject go, int index)
        {
            gridGo     = go;
            itemGo     = gridGo.transform.Find("bagItem").gameObject;
            this.index = index;//该item对应的哪个格子
            //nameText = UIUtil.GetText(itemGo, "name");
            icon = UIUtil.GetImage(itemGo, "icon");
            var uiDrag = UIDrag.GetUIDrag(icon.gameObject);

            uiDrag.AddBeginDrag(OnBeginDrag);
            uiDrag.AddDrag(OnDrag);
            uiDrag.AddEndDrag(OnEndDrag);
            bgImage = itemGo.GetComponent <Image>();

            UIUtil.SetUIOnClick(icon.gameObject, OnClick);
        }
Example #16
0
 public void SetDropObject(GameObject dropObject, Vector2 position)
 {
     dragableObject = dropObject.GetComponent <UIDrag> ();
     if (dragableObject != null)
     {
         dragableObject.OnEventEndDrag -= OnItemEndDrop;
         dragableObject.OnEventEndDrag += OnItemEndDrop;
         dragableObject.dropableObject  = this;
         m_CancelDropButton.onClick.RemoveAllListeners();
         m_CancelDropButton.onClick.AddListener(() => {
             OnItemCancelDrop(Input.mousePosition);
         });
     }
     if (OnEventDrop != null)
     {
         OnEventDrop(position);
     }
     m_EDropState = EDropState.Dropped;
 }
Example #17
0
    IEnumerator InstantiateNewBlock(PointerEventData eventData)
    {
        newBlock = Instantiate(transform).GetComponent <UIDrag>();

        // wait the update of the block size based on the children
        yield return(new WaitForEndOfFrame());

        if (newBlock != null)
        {
            Canvas mainCanvas = GameObject.FindGameObjectWithTag("GameController").transform.GetChild(1).GetComponent <Canvas>();
            newBlock.transform.localScale = Vector3.one * mainCanvas.scaleFactor;

            newBlock.transform.position = transform.position;
            newBlock.name = transform.name;
            startPosition = newBlock.transform.position;
            BEEventSystem.SetSelectedBlock(newBlock.beBlock);
            newBlock.transform.SetParent(onDragCanvas);
            newBlock.diffPosition = Input.mousePosition - startPosition;
        }
    }
Example #18
0
    public void drawSprite(UIDrag uidrag)
    {
        GUILayout.Space(3);
        bool  canDrag    = EditorGUILayout.Toggle("允许拖拽", uidrag.canDrag);
        bool  AutoBack   = EditorGUILayout.Toggle("自动回位", uidrag.autoBack);
        float smoothBack = 0;

        if (AutoBack)
        {
            smoothBack = EditorGUILayout.FloatField("平滑回位", uidrag.smoothBack);
        }
        else
        {
            smoothBack = uidrag.smoothBack;
        }

        bool centerAligned = EditorGUILayout.Toggle("对齐中心", uidrag.centerAligned);


        string EventPressDown = EditorGUILayout.TextField("按下事件", uidrag.ePressDown);
        string EventPressUp   = EditorGUILayout.TextField("弹起事件", uidrag.ePressUp);
        string Param          = EditorGUILayout.TextField("参数", uidrag.eParam);

        if (GUI.changed)
        {
            EditorTools.RegisterUndo("UIDrag", uidrag);
            uidrag.canDrag       = canDrag;
            uidrag.eParam        = Param;
            uidrag.autoBack      = AutoBack;
            uidrag.smoothBack    = smoothBack;
            uidrag.centerAligned = centerAligned;
            uidrag.ePressUp      = EventPressUp;
            uidrag.ePressDown    = EventPressDown;

            EditorTools.SetDirty(uidrag);
        }
    }
Example #19
0
        private void InitEvent()
        {
            if (Data is IChickenBagItemUiData)//背包标题不需要
            {
                var data = Data as IChickenBagItemUiData;
                if (data.isBagTitle)
                {
                    return;
                }
            }

            eventTrigger = FindComponent <UIEventTriggerListener>("ItemGroup");
            if (eventTrigger != null)
            {
                eventTrigger.onClick = RightClickAction;
                eventTrigger.onEnter = EnterAction;
            }
            uiDrog = FindComponent <UIDrag>("ItemGroup");
            if (uiDrog != null)
            {
                uiDrog.DragItem          = FindChildGo("ItemIcon").gameObject;
                uiDrog.OnEndDragCallback = DragCallbackAction;
            }
        }
Example #20
0
    public override void OnFirstOpen()
    {
        base.OnFirstOpen();

        talentBtn = GetGameObject("talentBtn");

        gameLevelModel = ModelManager.Get("GameLevelModel") as GameLevelModel;

        equipNumber      = GetText("belowUI/bag/number");
        fightCountText   = GetText("fightCount");
        preCountText     = GetText("preCount");
        moneyText        = GetText("belowUI/money/value");
        gameLevelText    = GetText("gameLevel");
        levelUpMoneyText = GetText("belowUI/levelUp/levelUpMoney");

        sellGo   = GetGameObject("sell");
        sellRect = GetRectTransform("sell");
        sellGo.SetActive(false);
        sellPriceText = GetText("sell/price");
        playerHpText  = GetText("playerHp");

        wndTips     = ViewManager.Get <WndTips>("WndTips");
        playerModel = ModelManager.Get("PlayerModel") as PlayerModel;

        int preCount   = PlayerModel.Max_Pre_Role_Count;
        int fightCount = FightManager.Max_Fight_List_Number;

        talentListRect = GetRectTransform("talentList");
        talentContent  = GetRectTransform("talentList/content");
        selfRect       = go.GetComponent <RectTransform>();

        talentItem = GetGameObject("talentItem");
        talentItem.SetActive(false);
        fightList = GetRectTransform("fightList/list");
        preList   = GetRectTransform("prepareList/list");

        fightPositions = new RectTransform[fightCount];
        for (int i = 0; i < 9; i++)
        {
            fightPositions[i] = fightList.Find(i.ToString()).GetComponent <RectTransform>();
        }

        prePositions = new RectTransform[preCount];
        for (int i = 0; i < preCount; i++)
        {
            prePositions[i] = preList.Find(i.ToString()).GetComponent <RectTransform>();
        }

        fightRoleGos = new GameObject[fightCount];
        for (int i = 0; i < fightCount; i++)
        {
            fightRoleGos[i] = fightPositions[i].Find("Role").gameObject;
        }

        preRoleGos = new GameObject[preCount];
        for (int i = 0; i < preCount; i++)
        {
            preRoleGos[i] = prePositions[i].Find("Role").gameObject;
        }

        fightRoleItems = new RoleItem[fightCount];
        for (int i = 0; i < fightRoleItems.Length; i++)
        {
            fightRoleItems[i] = new RoleItem(fightRoleGos[i], EnumType.RoleListType.Fight, i);
            goItems.Add(fightRoleItems[i].roleGo, fightRoleItems[i]);
        }

        preRoleItems = new RoleItem[preCount];
        for (int i = 0; i < preCount; i++)
        {
            preRoleItems[i] = new RoleItem(preRoleGos[i], EnumType.RoleListType.Pre, i);
            goItems.Add(preRoleItems[i].roleGo, preRoleItems[i]);
        }

        foreach (var v in goItems.Keys)
        {
            var uiDrag = UIDrag.GetUIDrag(v);
            uiDrag.AddBeginDrag(OnBeginDrag);
            uiDrag.AddDrag(OnDrag);
            uiDrag.AddEndDrag(OnEndDrag);
        }
        orTalentListX     = talentListRect.anchoredPosition.x;
        targetTalentListX = orTalentListX - 87;

        helpInfoPlane = GetGameObject("helpInfoPlane");

        AddUIButton("helpInfoBtn", (g) => { helpInfoPlane.SetActive(true); });
        AddUIButton("belowUI/shop", OnClickOpenShop);
        AddUIButton("belowUI/startFight", OnClickStartFight);
        AddUIButton("belowUI/levelUp", OnClickLevelUp);
        AddUIButton("belowUI/bag", OnClickOpenBag);
        AddUIButton("talentBtn", OnClickOpenTalent);
        AddUIButton("belowUI/return", OnClickReturn);
        AddUIButton("helpInfoPlane/helpContent/closeBtn", (g) => { helpInfoPlane.SetActive(false); });
    }
Example #21
0
    public void drawSprite(UIDragGroup dgroup)
    {
        GUILayout.Space(3);
        bool   allowMultiCollision = EditorGUILayout.Toggle("允许多个碰撞", dgroup.allowMultiCollision);
        string upressclickkey      = EditorGUILayout.TextField("触发事件", dgroup.eDragDown);

        GUILayout.Space(3);
        UIDrag buffer = null;

        buffer = (UIDrag)EditorGUILayout.ObjectField("绑定UIDrag", buffer, typeof(UIDrag), true);
        for (int k = 0; k < dgroup.drags.Count; k++)
        {
            GUILayout.BeginHorizontal();
            GUILayout.Space(20);
            if (GUILayout.Button("X", GUILayout.Width(20)))
            {
                EditorTools.RegisterUndo("UIDragGroup", dgroup);
                dgroup.drags.RemoveAt(k);
                EditorTools.SetDirty(dgroup);
                return;
            }
            EditorGUILayout.ObjectField("", dgroup.drags [k], typeof(UIDrag), true);
            GUILayout.Label(dgroup.drags [k].eParam);
            GUILayout.EndHorizontal();
        }

        GUILayout.Space(15);
        if (GUILayout.Button("自动绑定"))
        {
            UIDrag[] array = dgroup.gameObject.GetComponentsInChildren <UIDrag> (true);

            if (array != null && array.Length > 0)
            {
                EditorTools.RegisterUndo("UIDragGroup", dgroup);
                foreach (UIDrag drag in array)
                {
                    if (!dgroup.drags.Contains(drag))
                    {
                        dgroup.drags.Add(drag);
                    }
                }
                EditorTools.SetDirty(dgroup);
                return;
            }
        }


        if (GUI.changed)
        {
            EditorTools.RegisterUndo("UIDragGroup", dgroup);

            dgroup.eDragDown           = upressclickkey;
            dgroup.allowMultiCollision = allowMultiCollision;

            if (buffer != null)
            {
                if (!dgroup.drags.Contains(buffer))
                {
                    dgroup.drags.Add(buffer);
                }
            }
            EditorTools.SetDirty(dgroup);
        }
    }