public override void Initialize() { Body = GetComponent <Rigidbody>(); CurrentState = AgentStateType.Idle; StartPosition = transform.position; PreviousPosition = StartPosition; AssignStateDictionary(); InternalStepCount = 0; IsDoneCalled = false; OnTaskDone(); // force update of target and goal }
protected virtual void Move(float[] vectorAction) { // agent is idle if (vectorAction[0] == 0 && vectorAction[1] == 0) { CurrentState = AgentStateType.Idle; return; } // agent is moving CurrentState = AgentStateType.Move; StateDictionary[CurrentState].DoAction(this, vectorAction); }