public static void Remove(OTDragObject o) { if (objectLookup.ContainsKey(o.dragObject)) objectLookup.Remove(o.dragObject); if (o.finger!=-1 && fingerLookup.ContainsKey(o.finger)) fingerLookup.Remove(o.finger); if (dragObjects.Contains(o)) dragObjects.Remove(o); if (dragObjects.Count == 0) Clear(); }
public static OTDragObject New(OTObject dragObject) { Clear(); OTDragObject o = new OTDragObject(); o.dragObject = dragObject; dragObjects.Add(o); return o; }
void Drag(OTDragObject o, Vector2 pos) { Vector3 vp = new Vector3(); if (OT.world == World.World3D) { float _depthAdjust = 1000 + transform.position.z; Vector3 mousePoint = new Vector3(pos.x, pos.y, _depthAdjust); Vector3 objectPoint = new Vector3(o.position.x, o.position.y, _depthAdjust); vp = OT.view.camera.ScreenToWorldPoint(mousePoint) - OT.view.camera.ScreenToWorldPoint(objectPoint); } else vp = OT.view.camera.ScreenToWorldPoint(pos) - OT.view.camera.ScreenToWorldPoint(o.position); if (OT.world == World.WorldTopDown2D) o.dragObject.position += new Vector2(vp.x, vp.z); else o.dragObject.position += (Vector2)vp; o.position = pos; o.dragObject.HandleDrag("drag", null); }
public static OTDragObject New(int finger) { OTDragObject o = new OTDragObject(); o.finger = finger; dragObjects.Add(o); return o; }
void Drag(OTDragObject o, Vector2 pos) { Vector3 vp = OT.view.camera.ScreenToWorldPoint(pos) - OT.view.camera.ScreenToWorldPoint(o.position); if (OT.world == World.WorldSide2D) o.dragObject.position += (Vector2)vp; else o.dragObject.position += new Vector2(vp.x,vp.z); o.position = pos; o.dragObject.HandleDrag("drag", null); }