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 }); }; } }
// 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; } }
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); } }
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(); } }
void OnTriggerExit2D(Collider2D other) { var uIDrag = other.gameObject.GetComponent<UIDrag> (); if (DroppedObject == uIDrag && AllowRelease) { Debug.Log ("Releasing drag object"); DroppedObject.Dropped = null; DroppedObject = null; } }
void OnTriggerEnter2D(Collider2D other) { if (!DroppedObject) { var uIDrag = other.gameObject.GetComponent<UIDrag> (); if (uIDrag != null && !uIDrag.Dropped) { WatchingObject = uIDrag; } } }
public void HideAndResetDroppedObject() { PSDebug.Log("HideAndResetDroppedObject {0}", DroppedObject); if (DroppedObject) { DroppedObject.gameObject.SetActive(false); DroppedObject.Reset(); DroppedObject = null; WatchingObject = null; } }
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; }
//实例化地图数据 并且显示层 数据层 怪物层分离加入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); } }
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; }
// 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 }); } } }
public override void OnInspectorGUI() { UIDrag uidrag = target as UIDrag; EditorTools.DrawUpdateKeyTextField(uidrag); // UISpriteEditor.DrawSpriteElement (uidrag.sprite); // base.OnInspectorGUI (); GUILayout.Space(10); drawSprite(uidrag); }
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"); }
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); }
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; }
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; } }
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); } }
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; } }
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); }); }
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); } }