Class IdleState
AI state for idle behavior. Handles update rate, entering, exiting, and transition logic for NPCs.
[CreateAssetMenu(fileName = "New AI Idle State", menuName = "FishMMO/Character/NPC/AI/Idle State", order = 0)]
public class IdleState : BaseAIState, ICachedObject
- Inheritance
-
ObjectScriptableObjectIdleState
- Implements
- Inherited Members
-
ScriptableObject.SetDirty()ScriptableObject.CreateInstance<T>()Object.GetEntityId()Object.GetInstanceID()Object.GetHashCode()Object.InstantiateAsync<T>(T)Object.InstantiateAsync<T>(T, Transform)Object.InstantiateAsync<T>(T, Vector3, Quaternion)Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)Object.Instantiate(Object, Vector3, Quaternion)Object.Instantiate(Object, Vector3, Quaternion, Transform)Object.Instantiate(Object)Object.Instantiate(Object, Scene)Object.Instantiate<T>(T, InstantiateParameters)Object.Instantiate<T>(T, Vector3, Quaternion, InstantiateParameters)Object.Instantiate(Object, Transform)Object.Instantiate<T>(T)Object.Instantiate<T>(T, Vector3, Quaternion)Object.Instantiate<T>(T, Vector3, Quaternion, Transform)Object.Instantiate<T>(T, Transform)Object.Destroy(Object)Object.DestroyImmediate(Object)Object.DontDestroyOnLoad(Object)Object.DestroyObject(Object)Object.FindObjectsOfType<T>()Object.FindObjectsByType<T>(FindObjectsSortMode)Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)Object.FindObjectOfType<T>()Object.FindFirstObjectByType<T>()Object.FindAnyObjectByType<T>()Object.FindFirstObjectByType<T>(FindObjectsInactive)Object.FindAnyObjectByType<T>(FindObjectsInactive)Object.FindObjectsByType<T>()Object.FindObjectsByType<T>(FindObjectsInactive)Object.ToString()Object.nameObject.hideFlags
Fields
MaxUpdateRate
If MaxUpdateRate is greater than the base update rate, a random value between the two is used.
[Tooltip("If max update rate is greater than the update rate it will return a random range between the two.")]
public float MaxUpdateRate
Field Value
Methods
Enter(AIController)
Called when entering the idle state. Stops the AI's movement.
public override void Enter(AIController controller)
Parameters
controllerAIControllerThe AI controller.
Exit(AIController)
Called when exiting the idle state. Clears look target and resumes movement.
public override void Exit(AIController controller)
Parameters
controllerAIControllerThe AI controller.
GetUpdateRate(AIController)
Returns the update rate for the idle state, possibly randomized between base and max.
public override float GetUpdateRate(AIController controller)
Parameters
controllerAIControllerThe AI controller running this state.
Returns
- float
Update rate in seconds.
UpdateState(AIController, float)
Called every frame to update the idle state. Transitions to random movement if look target is lost or too far.
public override void UpdateState(AIController controller, float deltaTime)
Parameters
controllerAIControllerThe AI controller.
deltaTimefloatFrame time.