FEATURES
InvokeMethod
Added built-in script which calls method of Component.
You can input arguments from the data flow and output return values and out arguments to the data flow.
Built-in StateBehaviour
- Added InvokeMethod.
Scripts
- Added ArborEvent class (Core classes to perform the method call)
- Added ShowEventAttribute class (Attributes that can be selected even for methods with arguments of type not supported)
- Added HideEventAttribute class (Attribute to be hidden so that it can not be selected by ArborEvent)
ObjectPool
Added function to pool instantiated objects.
Built-in StateBehaviour
- Added AdvancedPooling which performs advance pooling.
- Add UsePool flag to instantiate from ObjectPool.
- InstantiateGameObject
- SubStateMachineReference
- SubBehaviourTreeReference
- Changed to return to ObjectPool at Destroy.
(Return to Pool only when Instantiating from ObjectPool)- DestroyGameObject
- OnCollisionEnterDestroy
- OnCollisionExitDestroy
- OnTriggerEnterDestroy
- OnTriggerExitDestroy
- OnCollisionEnter2DDestroy
- OnCollisionExit2DDestroy
- OnTriggerEnter2DDestroy
- OnTriggerExit2DDestroy
Built-in ActionBehaviour
- Added AdvancedPooling which performs advance pooling.
- Add UsePool flag to instantiate from ObjectPool.
- InstantiateGameObject
- SubStateMachineReference
- SubBehaviourTreeReference
- Changed to return to ObjectPool at Destroy.
(Return to Pool only when Instantiating from ObjectPool)- DestroyGameObject
Scripts
- Added ObjectPool class to ObjectPooling namespace.
Update contents
ADDITION
ArborEditor
- Added “Delete (Keep Connection)” in the right click menu of the data slot reroute node.
- Added “Delete (Keep Connection)” in the right click menu of the StateLink reroute node.
- Added “Disconnect” in the right-click menu of the data slot. (“Disconnect All” in case of output slot)
- Added “Edit Editor Script” in the menu of NodeBehaviour. (Only when there is an Editor extension script)
- Added “Show all data values always” check in the debug menu on the toolbar.
ArborFSM
- Added infinite loop debug setting.
BehaviourTree
- Added infinite loop debug setting.
ParameterContainer
- – Added enum type.
Built-in StateBehaviour
- Added support for enum type of CalcParameter.
- Added support for enum type of ParameterTransition.
- Added “Save To Prefab” in SubStateMachine’s menu.
- Added “Save To Prefab” in SubBehavioutTree’s menu.
Built-in ActionBehaviour
- Added “Save To Prefab” in SubStateMachine’s menu.
- Added “Save To Prefab” in SubBehavioutTree’s menu.
Built-in Decorator
- Added support for enum type of ParameterCheck.
- Added support for enum type of ParameterConditionLoop.
Editor extension
- Added LanguagePath asset which specifies installation directory path of self-created script language file.
Scripts
- Added OutputSlotTypable class.
- Added InputSlotTypable class.
- Added FlexibleEnumAny class (FlexibleField system class that can handle enum)
- ArborFSMInternal class
- Added prevTransitionState property which can refer to the state before transition.
- Added nextTransitionState property which can refer to state after transition.
- StateBehaviour class
- Added prevTransitionState property which can refer to the state before transition.
- Added nextTransitionState property which can refer to state after transition.
- Added stateLinkCount property to return the number of StateLink.
- Added GetStateLink method to return StateLink.
- Added RebuildStateLinkCache method to rebuild StateLink cache.
- Added Disconnect method to DataSlot class.
- Added AddBehaviourMenu multilingual support.
- Added BehaviourTitle multilingual support.
- Added BehaviourMenuItem multilingual support.
CHANGES
Arbor Editor
- Changed to prevent nodes from being selected when clicking the node’s main content GUI.
- Change GUI style of data slot.
- Changed to display the type name on tooltip when mouse over the reroute node of data slot.
- Integrate StateLink reroute node pin menu into node’s right click menu.
- Changed to not change the connection destination when StateLink is dragged and it is in the stateLink frame.
- Changed GUI style of NodeLinkSlot of BehaviourTree.
- Changed to display the current condition of the decorator.
- Adjust the display position of the behaviour selection popup when pressing the insert behaviour button.
- Changed to display on the front when mouse over the connection line.
- Changed to be able to select None in the type selection popup.
- Supports selection of type selection popup window with key input.
- Changed ParameterContainer referenced by ParameterReference so that it can also be set from data slot.
- Adjust the color of connecting lines of other data types.
BehaviourTree
- When Decorator returns failure on node active, change ActionBehaviour and Service OnStart () not to call.
Built-in StateBehaviour
- Changed “Prefab” field of InstantiateGameObject to FlexibleComponent.
- Changed “External FSM” field of SubStateMachineReference to FlexibleComponent.
- Changed “External BT” field of SubBehaviourTreeReference to FlexibleComponent.
Built-in ActionBehaviour
- Changed “Prefab” field of InstantiateGameObject to FlexibleComponent.
- Changed “External FSM” field of SubStateMachineReference to FlexibleComponent.
- Changed “External BT” field of SubBehaviourTreeReference to FlexibleComponent.
OPTIMIZE
Arbor Editor
- Optimize by changing Reflection to delegate.
ArborFSM
- Changed StateLink to cache beforehand.
Scripts
- Changed EachField class to cache the field.
- Optimized by changing Reflection use of EachField class to delegate. (No change in AOT or IL2CPP environment)
OBSOLETE
Scripts
- Change the nextState property of ArborFSMInternal to obsolete.
(Added reserverdState instead) - Changed the TidyAssemblyTypeName method of ClassTypeReference to obsolete.
(Added TypeUtility.TidyAssemblyTypeName instead) - Changed the GetAssemblyType method of ClassTypeReference to Obsolete.
(Added TypeUtility.GetAssemblyType instead)
FIXES
Arbor Editor
- Fix to switch Arbor Editor selection when Hierarchy selected graph instantiated by SubStateMachineReference or SubBehaviourTreeReference.
- Fixed an exception occurred in the editor when there was a class named StateLink different from Arbor.StateLink.
- Fixed that connection was broken when Undo insertion of reroute node of data slot.
- Fixed that rendering of dragging connection line was done even in other than Repaint event.
ArborFSM
- A bug when calling Stop() on the same graph in OnStateBegin()
- Fixed an exception occurred.
- Fixed that OnStateEnd() and OnStateBegin() on next execution will not be called.
- Fixed that OnStateBegin () after this state was called.
- Fix to hide fields not wanted to be edited from Inspector of ArborFSM instantiated by SubStateMachineReference.
- Fixed that extra copies of NodeBehaviours used in child graphs by SubStateMachine etc. when “Copy Component” was done in Inspector.
BehaviourTree
- Fix to hide fields not wanted to be edited from Inspector of BehaviourTree instantiated by SubBehaviourTreeReference.
- ixed that extra copies of NodeBehaviours used in child graphs by SubStateMachine etc. when “Copy Component” was done in Inspector.
Waypoint
- Fixed deleting the next element when deleting an element for which Points’ Transform is not set.
Scripts
- Fixed bug that can not be found when passing target type array to EachField.Find.
- Fixed not to scan the contents when passing an instance of target type to EachField.Find.
- Fixed deleting the next element when WeightList<T> element type is Unity object and trying to delete an element not setting object.
Others
- Support for Unity 2018.3.0b3.
Asset Store
Update procedure
Please follow the procedure below when updating Arbor.
- Please be sure to make a backup of the project before the update.
- If you are opening an existing scene, create a new scene from “File / New Scene” in the menu.
- If you are opening the Arbor Editor window, close it once.
- Already Removed Arbor folder that have been imported.
- Import a new version of Arbor.