상황
게임 인공지능을 개발 중입니다(유니티 사용)
최적화를 위해 AI를 [대기, 전투] 2단계로 세분화 합니다.

대기 상태
1초에 한번씩 A라는 행동을 합니다
구현
Update 함수에서 내가 대기 상태라면 현재 타임 스탬프를 가져와서 이전에 기록해둔 타임스탬프와 비교해서 1초이상이 지났다면 A 함수를 호출 후 현재 타임 스탬프를 기록합니다.

전투 상태
매프레임마다 B라는 행동을 합니다
구현
Update 함수에서 내가 전투 상태라면 B 함수를 호출합니다.



문제점
1. 이전에 기록해둔 타임 스탬프는 멤버 변수입니다. 순수하지 못하고 버그를 일으킬 가능성이 다분합니다(ex. 전투 후 대기 상태로 돌아올 때 초기화를 제대로 해주지 않으면 A 라는 상태가 즉시 호출됩니다)

2. 경계 상태가 추가 되고 조건이 플레이어가 근처에 있을 때라면 새로운 변수가 추가 돼야하고 Update 함수가 복잡해집니다


어떻게 해야 선언형적이며 버그를 줄일 수 있는 코드를 짤 수 있을까요