# Behaviour Reference

Here is a reference built-in Behaviour of Arbor.

## Agent

AgentEscape | Move the Agent to escape from Target.
AgentFollow | Move Agent so that it approaches Target.
AgentMoveOnWaypoint | Move the Agent along the Waypoint.
AgentPatrol | To patrol the vicinity of the specified location.
AgentStop | Stop the Agent

## Animator

AnimatorCrossFade | Transit the state of Animator.
AnimatorSetLayerWeight | Set weight of Animator's layer.
CalcAnimatorParameter | Calculate and change the parameter of Animator.

## Audio

PlaySound | Play AudioSource.
PlaySoundAtPoint | Play the sound at the specified point.
PlaySoundAtTransform | Play the sound at the specified Transform position.
StopSound | Stop AudioSource.

## BehaviourTree

SubBehaviourTree | Play a child hierarchy Behavior Tree

## Collision

OnCollisionEnterDestroy | When OnCollisionEnter is called, it will destroy an opponent GameObject.
OnCollisionEnterStore | When OnCollisionEnter is called, it will store an opponent GameObject to the parameter.
OnCollisionExitDestroy | When OnCollisionExit is called, it will destroy an opponent GameObject.
OnCollisionExitStore | When OnCollisionExit is called, it will store an opponent GameObject to the parameter.
OnControllerColliderHitDestroy | When OnControllerColliderHit is called, it will destroy an opponent GameObject.
OnControllerColliderHitStore | When OnControllerColliderHit is called, it will store an opponent GameObject to the parameter.
OnTriggerEnterDestroy | When OnTriggerEnter is called, it will destroy an opponent GameObject.
OnTriggerEnterStore | When OnTriggerEnter is called, it will store an opponent GameObject to the parameter.
OnTriggerExitDestroy | When OnTriggerExit is called, it will destroy an opponent GameObject.
OnTriggerExitStore | When OnTriggerExit is called, it will store an opponent GameObject to the parameter.

## Collision2D

OnCollisionEnter2DDestroy | When OnCollisionEnter2D is called, it will destroy an opponent GameObject.
OnCollisionEnter2DStore | When OnCollisionEnter2D is called, it will store an opponent GameObject to the parameter.
OnCollisionExit2DDestroy | When OnCollisionExit2D is called, it will destroy an opponent GameObject.
OnCollisionExit2DStore | When OnCollisionExit2D is called, it will store an opponent GameObject to the parameter.
OnTriggerEnter2DDestroy | When OnTriggerEnter2D is called, it will destroy an opponent GameObject.
OnTriggerEnter2DStore | When OnTriggerEnter2D is called, it will store an opponent GameObject to the parameter.
OnTriggerExit2DDestroy | When OnTriggerExit2D is called, it will destroy an opponent GameObject.
OnTriggerExit2DStore | When OnTriggerExit2D is called, it will store an opponent GameObject to the parameter.

## Component

ActivateBehaviour | Activate Behaviour.

## GameObject

ActivateGameObject | It will switch the active GameObject.
BroadcastMessageGameObject | It sends a message to the specified GameObject and its child objects.
DestroyGameObject | It will remove the GameObject.
FindGameObject | GameObject search by the name is then stored in the parameter.
FindWithTagGameObject | GameObject the searches in the tag and then stored in the parameter.
InstantiateGameObject | GameObject the searches in the tag and then stored in the parameter.
LookAtGameObject | We will watch the specified Transform.
SendEventGameObject | It will send the event.
SendMessageGameObject | It will send a message to the GameObject.
SendMessageUpwardsGameObject | It will send a message to the GameObject and all of the parent object.

## Legacy

### UI

UISetSliderFromParameter | Set the value of Slider from Parameter.
UISetToggleFromParameter | Set the Toggle from Parameter.

## Parameter

CalcParameter | Change by calculating the value of the Parameter.
SetBoolParameterFromUIToggle | The value of the Toggle set to Parameter.
SetFloatParameterFromUISlider | Set the value of the Slider to Parameter.

## Physics

ActivateCollider | Activate Collider.
AddForceRigidbody | We will apply a force to Rigidbody.
AddVelocityRigidbody | It will add the velocity of Rigidbody.
SetVelocityRigidbody | Set the velocity of Rigidbody.

## Physics2D

AddForceRigidbody2D | We will apply a force to Rigidbody2D.
AddVelocityRigidbody2D | It will add the velocity of Rigidbody2D.
SetVelocityRigidbody2D | Set the velocity of Rigidbody2D.

## Renderer

ActivateRenderer | Activate Renderer.
SetSprite | Set the Sprite.

## Scene

LoadLevel | Load the specified scene.
UnloadLevel | Unload the specified scene from the current scene.

## StateMachine

EndStateMachine | End the state machine now and return to the parent graph.
SubStateMachine | Play a child hierarchy ArborFSM.

## Transition

AnimatorStateTransition | Transit by referring to the state of Animator.
BackToStartState | Back to the start state.
CalculatorTransition | It will transition by the calculation result
DistanceTransition | It will transition the state by the distance between the target of GameObject.
ExistsGameObjectTransition | GameObject is I will transition on whether exists.
GoToTransition | It will transition to force the state.
ParameterTransition | It determines the value of Parameter and makes a transition.
RandomTransition | Transit randomly.
TimeTransition | It will transition the state after the lapse of time.
TriggerTransition | It will transition the state when the trigger has been sent.

### Collision

OnCollisionEnterTransition | It will transition the state when the OnCollisionEnter is called.
OnCollisionExitTransition | It will transition the state when the OnCollisionExit is called.
OnCollisionStayTransition | It will transition the state when the OnCollisionStay is called.
OnControllerColliderHitTransition | It will transition the state when the OnControllerColliderHit is called.
OnTriggerEnterTransition | It will transition the state when the OnTriggerEnter is called.
OnTriggerExitTransition | It will transition the state when the OnTriggerExit is called.
OnTriggerStayTransition | It will transition the state when the OnTriggerStay is called.

### Collision2D

OnCollisionEnter2DTransition | It will transition the state when the OnCollisionEnter2D is called.
OnCollisionExit2DTransition | It will transition the state when the OnCollisionExit2D is called.
OnCollisionStay2DTransition | It will transition the state when the OnCollisionStay2D is called.
OnTriggerEnter2DTransition | It will transition the state when the OnTriggerEnter2D is called.
OnTriggerExit2DTransition | It will transition the state when the OnTriggerExit2D is called.
OnTriggerStay2DTransition | It will transition the state when the OnTriggerStay2D is called.

### EventSystems

OnPointerClickTransition | It will transition the state when the OnPointerClick is called.
OnPointerDownTransition | It will transition the state when the OnPointerDown is called.
OnPointerEnterTransition | It will transition the state when the OnPointerEnter is called.
OnPointerExitTransition | It will transition the state when the OnPointerExit is called.
OnPointerUpTransition | It will transition the state when the OnPointerUp is called.

### Input

AnyKeyDownTransition | It will transition the state when any key is pressed.
AnyKeyTransition | It will transition the state on whether any key is pressed.
ButtonDownTransition | It will transition the state when the button is pressed.
ButtonTransition | It will transition the state on whether Button is pressed.
ButtonUpTransition | It will transition the state when the button is released.
KeyDownTransition | It will transition the state when a key is pressed.
KeyTransition | It will transition the state on whether is Key pressed.
KeyUpTransition | It will transition the state on whether is Key released.
MouseButtonDownTransition | It will transition the state when the mouse button is pressed.
MouseButtonTransition | It will transition the state on whether the mouse button is pressed.
MouseButtonUpTransition | It will transition the state when the mouse button is released.
OnMouseDownTransition | It will transition the state when the OnMouseDown is called.
OnMouseDragTransition | It will transition the state when the OnMouseDrag is called.
OnMouseEnterTransition | It will transition the state when the OnMouseEnter is called.
OnMouseExitTransition | It will transition the state when the OnMouseExit is called.
OnMouseOverTransition | It will transition the state when the OnMouseOver is called.
OnMouseUpAsButtonTransition | It will transition the state when the OnMouseUpAdButton is called.
OnMouseUpTransition | It will transition the state when the OnMouseUp is called.

### Physics

RaycastTransition | It will transition by Ray cast.

### Physics2D

Raycast2DTransition | It will transition by 2D of Ray cast.

### UI

UIButtonTransition | Click the button to make a transition.

## Trigger

BroadcastTrigger | It will send a trigger to a GameObject and child objects.
SendTrigger | It will send a trigger.
SendTriggerGameObject | Send the trigger to all of ArborFSM that is assigned to the GameObject.
SendTriggerUpwards | Send the trigger to all of ArborFSM that is assigned to the GameObject.

## Tween

TweenCanvasGroupAlpha | Gradually change Alpha of Canvas Group.
TweenColor | Gradually change color of Renderer.
TweenPosition | Gradually change position.
TweenRigidbody2DPosition | Gradually change position of Rigidbody2D.
TweenRigidbody2DRotation | Gradually change rotaion of Rigidbody2D.
TweenRigidbodyPosition | Gradually change position of Rigidbody.
TweenRigidbodyRotation | Gradually change rotaion of Rigidbody.
TweenRotation | Gradually change rotaion.
TweenScale | Gradually change scale.
TweenTextureOffset | Gradually change UV cordinates of Texture.

## UI

UISetImage | Set the Sprite to Image.
UISetSlider | Set the value of Slider.
UISetTextFromParameter | Set the Text from Parameter.
UISetToggle | Set the Toggle.

### Tween

UITweenColor | Gradually change color of UI.
UITweenPosition | Gradually change position of UI.
UITweenSize | Gradually change size of UI.