All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.3.1 - 2021-08-24
- [Docs] English documents added.
- [Simulator] Camera used by
CubeInteraction
can be assigned from inspector. (THANKS to contribution from zurachu)
- [Simulator] Behaviour of sloped simualtion fixed. The same as real cube, sloped is now set false when cube is upside-down.
- [CubeReal] Add delay after
StartNotifications
at initialization, which otherwise may fail.
1.3.0 - 2021-07-29
- [BLE] Add MacOS BLE plugin. (Thanks to contribution of Akihiro Komori)
- [Scanner] Add class
CubeScanner
that integratesNearestScanner
andNearScanner
. - [Simulator] Implement
CubeSimulator.power
, which can be accessed from script or Editor Inspector. - [Simulator] Implement diconnection and re-connection. Simulator has more similar behaviour as real cube.
- [Simulator] Add sound effects including 'power on/off' and 'conncect/disconnect'.
- [Simulator] Simulator's cube object won't disappear when built to mobile device, since new
CubeSanncer
CubeConnect
require Simulator being able to work under any environment.CubeSimulator
won't run simulation unless attached to aCubeUnity
instance. - [Simulator] Reimplment delay simulation using IEnumerator.
- [Scanner] Replace internal implementations of
NearestScanner
andNearScanner
withCubeScanner
. - [CubeManager] Remove method
CubeManager.SetNearestScanner
andCubeManager.SetNearScanner
and add methodCubeManager.SetCubeScanner
.
- [CubeHandle] Not moving backwards on the outside of borders issue fixed.
- [CubeManager] Fix logic of
synced
that is always false after any cube is disconnected. AndsyncedCubes
syncedHandles
syncedNavigators
now return connected entities only. - [BLE] Fix Android BLE Plugin disconnection not working issue.
- [BLE] Fix Android BLE Plugin keeping returning characteristics issue.
1.2.1 - 2021-04-27
- [Cube API] Implement method
Cube.RequestSensor
. (THANKS to contribution from zurachu)
- [Simulator] Checkbuttons on inspector for simulating collison and double tap are changed to buttons.
- [Navigator]
Wall
will be created as a line segement rather than a infinite line.
- [Simulator] Make motion sensors' behaviour of Simulator same with real cube.
- Specifically, change of each sensor will invoke a callback that updates all motion sensors' state in Cube class.
- Also,
Cube.isCollisionDetected
orCube.isDoubleTap
cannot transit fromtrue
tofalse
UNTIL ANOTHER sensor invokes an update. This feature may block callbacks, therefore callingCube.RequestSensor
is suggested to manually force an update.
- [Cube API]
collisionCallback
anddoubleTapCallback
will only be invoked when corresponding states transitting fromfalse
totrue
(i.e. collision or doubleTap just happened). The reason is similar to above that state transition fromtrue
tofalse
does not mean anything but motion sensors' states updated. - [Simulator.Mat] Fix developerMat number unable to switch from inspector issue.
- [Simulator.Stage] Fix targetPole operation issue.
- [BLE] Fix error of peripheral.disconnect when using iOS plugin.
1.2.0 - 2021-02-24
- [Simulator] Implement sound presets.
- [BLE] Add Android BLE plugin. (Thanks to contribution of Yusuke Kurokawa)
- [Simulator] Change names of mat types.
1.1.0 - 2020-12-15
- [Cube API] Implementation of firmware version 2.1.0 & 2.2.0
- Implement updated motor's deadzone and max value.
- Implement pose detection feature (callback & property).
- Implement doubleTap detection feature (callback & property) and its internal config method.
- Implement motor speed reading feature (callback & property) and its config method.
- Implement shake detection feature (callback & property).
- Implement motor's TargetMove(目標指定付きモーター制御), AccelerationMove(加速度指定付きモーター制御) methods and enums for options and response callbacks.
- [Simulator] Implementation of firmware version 2.1.0 & 2.2.0
- Implementation classes added; Version list on inspector appended.
- Implement updated motor's deadzone and max value.
- Implement pose detection feature (physical simulation supported).
- Implement doubleTap detection feature (only changeable on inspector).
- Implement motor speed reading feature and its config method.
- Implement shake feature (only changeable on inspector).
- Implement motor's TargetMove(目標指定付きモーター制御), AccelerationMove(加速度指定付きモーター制御) features.
- [Simulator] Add building support for MAC/Windows.
- [Sample] Add Sample_Motor which demonstrates Cube.TargetMove and Cube.AccelerationMove.
- Improve CubeHandle and Navigator's border feature
- [Mat] Add method
RectInt GetRectForMatType(MatType, DeveloperMatType)
. - [CubeHandle] Add field
borderRect
and methodSetBorderRect
, and deprecate fieldsCenterX
CenterY
SizeX
SizeY
RangeX
RangeY
. - [Navigator] Add overload for
AddBorder
. - Corresponding changes in tutorials, samples, tests and documents.
- [Mat] Add method
- [Simulator] Change motor simulation.
- Seperate tire's speed from object's speed.
- Deadzone applied on receiving commands instead of internal motor simulation.
- [Simulator] Refactoring implementation of command queuing.
- [Cube API] Replace CallbackProvider with multiple templates.
- [Sample] Append new features to Sample_Sensor.
- [Cube API] Fix wrong max size for operation list of TurnOnLightWithScenario and PlaySound.
- [CubeHandle] Fix border not working when cube going inside from outside.
1.0.2 - 2020-11-05
- Add an optional argument 'border' to method 'Movement.Exec()'
- Fix link error when installing a unity asset that include Assembly-Definition-Files
1.0.1 - 2020-10-08
- Add version.txt.
- Add guidance for git.
- Update ble-plugin-unity.
- Update comments for codes of Simulator.
- Fix warning when importing cube_model.fbx.
- Remove contents of CocoaPods from documents.
1.0.0 - 2020-09-29
- Add Trademark Notice in README.md.
- Add some sections in FAQ.
- Change notations on UI in Sample_Sensor demo.
- Fix null reference exception in BoidsTutorial and BoidsAvoidTutorlal.
- Fix warning in ble-plugin-unity.
- Fix documents.
1.0.0-beta0 - 2020-09-22
Initial Release. (Internal Release)