TouchScript
-
TouchScript 5.0
Published by valyard over 10 years ago
Updated:
- Core: TouchScript now supports UnityScript and SendMessage events.
- Core: TouchScript now extensively uses DPI to scale internal values in cm and tries to determine current display DPI automatically. If it's not possible you can specify DPI manually using DisplayDevice assets.
- Docs: Added a lot of comments and auto-generated docs to the code.
- Gestures: Gestures now have individual events (for example Tapped, Pressed, Released). This should make everything easier for newcomers.
- Gestures: TapGesture now supports single/double/tripple taps and fails if touch points moved more than DistanceLimit from initial touch.
- Gestures: You can now require another gesture to fail before a gesture can be recognized. For example, to handle single- and doubletap functionality on one object.
- Gestures: LongPressGesture now fails if touch points moved more than DistanceLimit from initial touch.
- Gestures: Setting TransformGesture.ProjectionNormal while Projection is set to Camera will reset it to Local mode.
- Hit: You can now disable HitTest components on game objects.
- Code: Refactored and restructured code to fit code guidelines.
- Code: Optimized internal classes for performance.
- Visual: TouchDebugger prefab now looks nicer ^_^
- Examples: Reworked all examples and added new ones.
- Scaleform: Changed Scaleform integration. Split code to ScaleformCamera and ScaleformLayer. Moved key to separate asset. Tested with the latest scaleform plugin (March 2014).
- Editor: All Gestures by default now have a standard custom inspector.
- Editor: Updated and improved all custom inspectors for bundled gestures.
- Editor: Gesture editors are now much more prefab friendly.
- Editor: Added toggles on input sources to disable if needed. For example, MouseInput disabling on mobile platforms.
- Editor: Moved advanced options to Advanced foldout.
- Mac: Added Mac post-build commands in Debug configuration.
Bug fixes:
- PanGesture now doesn't break if two touches happen to be in the same position (issue #64).
- Everything now works nicely with scene reloading.
- Gestures are now properly reset when disabled.
- 2D layers are now handled properly (issue #60, #81).
- Fixed a sorting bug when objects were in a container with RigidBody attached.
- Fixed NullPointerException for layers which might not returned a valid ITouchHit.
- Fixed Windows 8 touch position scaling (issue #85, #82).
- MouseInput now can disable itself on Windows Store platform.
Api changes:
- Most of the classes are now sealed and internal. API not intended to be used is hidden.
- Most framework classes now return IList instead of List.
- TouchPoint.InvalidPosition is renamed to INVALID_POSITION, Gesture.InvalidPosition is removed.
- Now all gestures have CombineTouchPoints property.
- Changed HitTest logic. Now all HitTest components on object must report HIT for touch to hit this object.
- All public APIs now use ITouch instead of TouchPoint. These objects must not be cached in any way since they might be reused.
- All public APIs now use ITouchHit instead of TouchHit. Moved 3d and 2d parameters to ITouchHit3D and ITouchHit2D. These objects must not be cached in any way since they might be reused.
- Renamed Cluster2 to Clusters. Moved some cluster recognition logic to ClusterUtils.
- Moved GestureStateChangeEventArgs to TouchScript.Gestures namespace.
- Moved TouchEventArgs to TouchScript namespace. Removed TouchScript.Events namespace.
- Updated MetaGesture API, renamed TouchPoint to Touch for consistency.
- Changed all occurrences of "touchpoint" to "touch" in API for consistency.
- Removed ClusterUtils.GetClusterCamera.
- Changed RotateGesture.LocalDeltaRotation to DeltaRotation, added RotationAxis.
- Moved IGestureDelegate to Gesture namespace.
- Moved Meta, Press and Release gestures to TouchScript.Gestures namespace from TouchScript.Gestures.Simple namespace.
- Removed unused properties from TouchHit2D and TouchHit3D.
- Clusters.MinPointsDistance is now 0 by default (was 1).
- Touch layers now return Miss if not enabled.
Library structure:
- Completely changed the folder structure of the library.
- All core TouchScript classes are in TouchScript folder.
- All inputs are in TouchScript.Inputs folder.
- All examples and platform specific projects are in UnityPackages folder.
- UnityPackage folder contains build scripts.