public static Bounds GetDragObjectBounds(UIDragObject dragObject) { Bounds bounds; if (dragObject.contentRect) { var t = dragObject.panelRegion.cachedTransform; var toLocal = t.worldToLocalMatrix; var corners = dragObject.contentRect.worldCorners; for (var i = 0; i < 4; ++i) { corners[i] = toLocal.MultiplyPoint3x4(corners[i]); } bounds = new Bounds(corners[0], Vector3.zero); for (var i = 1; i < 4; ++i) { bounds.Encapsulate(corners[i]); } } else { bounds = NGUIMath.CalculateRelativeWidgetBounds(dragObject.panelRegion.cachedTransform, dragObject.target); } return(bounds); }
/// <summary> /// 初始化grid /// </summary> void InitGridList() { m_lstTargetGrid.Clear(); for (int i = 0; i < m_grid_SelectTargetGridRoot.transform.childCount; i++) { Transform ts = m_grid_SelectTargetGridRoot.transform.GetChild(i); UISelectTargetGrid grid = ts.gameObject.GetComponent <UISelectTargetGrid>(); if (grid == null) { grid = ts.gameObject.AddComponent <UISelectTargetGrid>(); } m_lstTargetGrid.Add(grid); //添加拖拽组件 UIDragObject dragObj = ts.gameObject.GetComponent <UIDragObject>(); if (dragObj == null) { dragObj = ts.gameObject.AddComponent <UIDragObject>(); } dragObj.target = m_trans_SelectTarget.transform; } //添加拖拽组件 UIDragObject dragObjBg = m_sprite_SelectTargetBg.gameObject.GetComponent <UIDragObject>(); if (dragObjBg == null) { dragObjBg = m_sprite_SelectTargetBg.gameObject.AddComponent <UIDragObject>(); } }
private void InitDragCell(GameObject cell) { UIDragObject dragObject = cell.GetComponent <UIDragObject>(); if (dragObject == null) { dragObject = cell.gameObject.AddComponent <UIDragObject>(); dragObject.backTop = true; dragObject.restrictWithinPanel = true; dragObject.momentumAmount = mMomentumAmount; } dragObject.target = DragTarget.transform; dragObject.scale = TableDirection == Direction.Vertical ? new Vector3(0, 1, 0) : new Vector3(1, 0, 0); if (SrollBtn != null) { if (scrollDragObjet == null) { scrollDragObjet = cell.gameObject.AddComponent <UIDragObject>(); } scrollDragObjet.target = SrollBtn.transform; scrollDragObjet.scale = new Vector3(0, -1, 0); scrollDragObjet.restrictWithinPanel = true; scrollDragObjet = null; } }
// 回退卡牌到原始位置 override public void backCard2Orig() { UICamera.simuStopDrag(); m_card.m_sceneDZData.m_dragDropData.setCurDragItem(null); UIDragObject drag = m_card.gameObject().GetComponent <UIDragObject>(); drag.reset(); m_card.trackAniControl.moveBackToPre(); // 退回去 }
// 关闭拖放功能 public void disableDrag() { UIDragObject drag = m_mazeRoom.selfGo.GetComponent <UIDragObject>(); UtilApi.Destroy(drag); WindowDragTilt dragTitle = m_mazeRoom.selfGo.GetComponent <WindowDragTilt>(); UtilApi.Destroy(dragTitle); }
/// <summary> /// 删除拖拽组件 /// </summary> /// <param name="item"></param> public static void DestroyDragObject(MahjongItem item) { UIDragObject drag = item.GetComponent <UIDragObject>(); if (drag != null) { Object.Destroy(drag); } }
public override void OnInspectorGUI() { m_target = (UIDragObject)target; GUI.enabled = false; EditorGUILayout.ObjectField("Script:", MonoScript.FromMonoBehaviour((UIDragObject)target), typeof(UIDragObject), false); GUI.enabled = true; DrawOffsets(); DrawClamps(); }
private void LateUpdate() { float single = base.UpdateRealTimeDelta(); if (this.target == null) { return; } if (!this.mPressed) { UIDragObject uIDragObject = this; uIDragObject.mMomentum = uIDragObject.mMomentum + (this.scale * (-this.mScroll * 0.05f)); this.mScroll = NGUIMath.SpringLerp(this.mScroll, 0f, 20f, single); if (this.mMomentum.magnitude <= 0.0001f) { this.mScroll = 0f; } else { if (this.mPanel == null) { this.FindPanel(); } if (this.mPanel != null) { Transform transforms = this.target; transforms.position = transforms.position + NGUIMath.SpringDampen(ref this.mMomentum, 9f, single); if (this.restrictWithinPanel && this.mPanel.clipping != UIDrawCall.Clipping.None) { this.mBounds = NGUIMath.CalculateRelativeWidgetBounds(this.mPanel.cachedTransform, this.target); if (!this.mPanel.ConstrainTargetToBounds(this.target, ref this.mBounds, this.dragEffect == UIDragObject.DragEffect.None)) { SpringPosition component = this.target.GetComponent <SpringPosition>(); if (component != null) { component.enabled = false; } } } return; } } } else { SpringPosition springPosition = this.target.GetComponent <SpringPosition>(); if (springPosition != null) { springPosition.enabled = false; } this.mScroll = 0f; } NGUIMath.SpringDampen(ref this.mMomentum, 9f, single); }
// 关闭拖放功能 override public void disableDrag() { UIDragObject drag = m_card.gameObject().GetComponent <UIDragObject>(); //drag.enabled = false; UtilApi.Destroy(drag); WindowDragTilt dragTitle = m_card.gameObject().GetComponent <WindowDragTilt>(); //dragTitle.enabled = false; UtilApi.Destroy(dragTitle); }
// Use this for initialization void Awake() { m_controller = transform.GetComponentInChildren <GalaxyTweenController>(); m_mainSpot = transform.Find("Root/Sprite").gameObject; m_targetWidget = transform.GetComponent <UIWidget>(); m_dragObj = transform.GetComponentInChildren <UIDragObject>(); UIEventListener.Get(m_mainSpot).onPress = OnPress; UIEventListener.Get(m_mainSpot).onDrag = OnDrag; SetWidgetSize(false); }
private void CreateRootNode() { GameObject rootNodeObj = CreateInterfaceNode(INODE_TYPE.ROOT); rootNodeObj.transform.position = this.rootNodePlaceholder.position; UIDragObject dragScript = rootNodeObj.GetComponent <UIDragObject>(); dragScript.enabled = false; rootNodeObj.GetComponent <Collider>().enabled = false; this.rootNode = rootNodeObj.GetComponent <btInterfaceRootNode>(); }
static public int get_restrictWithinPanel(IntPtr l) { try { UIDragObject self = (UIDragObject)checkSelf(l); pushValue(l, true); pushValue(l, self.restrictWithinPanel); return(2); } catch (Exception e) { return(error(l, e)); } }
static public int get_scrollMomentum(IntPtr l) { try { UIDragObject self = (UIDragObject)checkSelf(l); pushValue(l, true); pushValue(l, self.scrollMomentum); return(2); } catch (Exception e) { return(error(l, e)); } }
static public int get_panelRegion(IntPtr l) { try { UIDragObject self = (UIDragObject)checkSelf(l); pushValue(l, true); pushValue(l, self.panelRegion); return(2); } catch (Exception e) { return(error(l, e)); } }
private void OnScroll(float delta) { if (base.enabled && base.gameObject.activeInHierarchy) { if (Mathf.Sign(this.mScroll) != Mathf.Sign(delta)) { this.mScroll = 0f; } UIDragObject uIDragObject = this; uIDragObject.mScroll = uIDragObject.mScroll + delta * this.scrollWheelFactor; } }
static public int get_dragMovement(IntPtr l) { try { UIDragObject self = (UIDragObject)checkSelf(l); pushValue(l, true); pushValue(l, self.dragMovement); return(2); } catch (Exception e) { return(error(l, e)); } }
static public int CancelMovement(IntPtr l) { try { UIDragObject self = (UIDragObject)checkSelf(l); self.CancelMovement(); pushValue(l, true); return(1); } catch (Exception e) { return(error(l, e)); } }
static public int set_panelRegion(IntPtr l) { try { UIDragObject self = (UIDragObject)checkSelf(l); UIPanel v; checkType(l, 2, out v); self.panelRegion = v; pushValue(l, true); return(1); } catch (Exception e) { return(error(l, e)); } }
static public int set_target(IntPtr l) { try { UIDragObject self = (UIDragObject)checkSelf(l); UnityEngine.Transform v; checkType(l, 2, out v); self.target = v; pushValue(l, true); return(1); } catch (Exception e) { return(error(l, e)); } }
static public int set_dragMovement(IntPtr l) { try { UIDragObject self = (UIDragObject)checkSelf(l); UnityEngine.Vector3 v; checkType(l, 2, out v); self.dragMovement = v; pushValue(l, true); return(1); } catch (Exception e) { return(error(l, e)); } }
static public int set_momentumAmount(IntPtr l) { try { UIDragObject self = (UIDragObject)checkSelf(l); System.Single v; checkType(l, 2, out v); self.momentumAmount = v; pushValue(l, true); return(1); } catch (Exception e) { return(error(l, e)); } }
public static void DragObjectConnectToTarget(UIDragObject dragObject, GameObject dragTarget, float fScale = 1f, bool bVertical = true, bool bBackToTop = true, bool bRestricInPanel = true) { dragObject.target = dragTarget.transform; if (bVertical) { dragObject.scale = new Vector3(0, fScale, 0); } else { dragObject.scale = new Vector3(fScale, 0, 0); } dragObject.backTop = bBackToTop; dragObject.restrictWithinPanel = bRestricInPanel; }
static public int set_contentRect(IntPtr l) { try { UIDragObject self = (UIDragObject)checkSelf(l); UIRect v; checkType(l, 2, out v); self.contentRect = v; pushValue(l, true); return(1); } catch (Exception e) { return(error(l, e)); } }
static public int set_restrictWithinPanel(IntPtr l) { try { UIDragObject self = (UIDragObject)checkSelf(l); System.Boolean v; checkType(l, 2, out v); self.restrictWithinPanel = v; pushValue(l, true); return(1); } catch (Exception e) { return(error(l, e)); } }
static public int set_dragEffect(IntPtr l) { try { UIDragObject self = (UIDragObject)checkSelf(l); UIDragObject.DragEffect v; checkEnum(l, 2, out v); self.dragEffect = v; pushValue(l, true); return(1); } catch (Exception e) { return(error(l, e)); } }
void Start() { //TODO это не должно быть тут UIDragObject mapDnDController = GameObject.FindObjectOfType <UIDragObject>(); GameObject mapCamera = GameObject.Find("Map Camera"); mapDnDController.target = mapCamera.transform; mapController = GameObject.FindObjectOfType <MapController>(); mapController.InitMap(); Shmipl.Base.Messenger <Hashtable, bool> .AddListener("UnityShmipl.UpdateView", UpdateViewOutside); Shmipl.Base.Messenger <GameMode> .AddListener("UnityShmipl.ChangeGameMode", ChangeGameMode); }
protected void Start() { if (this.m_Target == null) { this.m_Target = this.gameObject.GetComponent <UIDragObject>(); } if (this.m_Target != null) { UIRoot root = NGUITools.FindInParents <UIRoot>(this.transform); if (root != null) { this.m_Target.panelRegion = root.GetComponent <UIPanel>(); } } }
public static TileViewController Create(int t, float posX, float posY) { //Make sure we're not trying to instantiate an invalid tile if (t == 0) { Debug.LogWarning("Bad tile type passed to TileViewController"); return(null); } // This loads a default Tile view prefab Object prefab = Resources.Load("AntSimPrefabs/TileView"); if (prefab == null) { Debug.LogError("Please move the AntSimPrefabs directory to the Assets/Resources directory for prefabs to work"); } GameObject view = (GameObject)Instantiate(prefab); TileViewController viewController = view.GetComponent <TileViewController>(); viewController.model = t; viewController.eggModel = null; UISprite spr = view.GetComponent <UISprite>(); if (viewController.model == -2) { spr.spriteName = "SkyTile"; spr.MakePixelPerfect(); } else if (viewController.model == 1) { spr.spriteName = "ChunkTile"; spr.MakePixelPerfect(); } view.transform.parent = AntSimulation.singleton.tiles.transform; //view.transform.localScale = Vector3.one; view.transform.localPosition = new Vector3(posX, posY, 0); view.transform.localScale = Vector3.one; UIDragObject dragObj = (UIDragObject)view.GetComponent <UIDragObject>(); dragObj.target = AntSimulation.singleton.colonyView.transform; return(viewController); }
// 开启拖动 public void enableDrag() { if (m_mazeRoom.selfGo.GetComponent <UIDragObject>() == null) { UIDragObject drag = m_mazeRoom.selfGo.AddComponent <UIDragObject>(); drag.target = m_mazeRoom.selfGo.transform; drag.m_startDragDisp = onStartDrag; drag.m_moveDisp = onMove; drag.m_dropEndDisp = onDragEnd; drag.m_canMoveDisp = canMove; drag.m_planePt = new Vector3(0, 0, 0); } if (m_mazeRoom.selfGo.GetComponent <WindowDragTilt>() == null) { m_mazeRoom.selfGo.AddComponent <WindowDragTilt>(); } }
// 开启拖动 override public void enableDrag() { if (m_card.gameObject().GetComponent <UIDragObject>() == null) { UIDragObject drag = m_card.gameObject().AddComponent <UIDragObject>(); drag.target = m_card.gameObject().transform; drag.m_startDragDisp = onStartDrag; drag.m_moveDisp = onMove; drag.m_dropEndDisp = onDragEnd; drag.m_canMoveDisp = canMove; drag.m_planePt = new Vector3(0, SceneDZCV.DRAG_YDELTA, 0); } if (m_card.gameObject().GetComponent <WindowDragTilt>() == null) { m_card.gameObject().AddComponent <WindowDragTilt>(); } }