Class TimerSystem
ITimerSystem 구현체. ITickable을 구현해 TickSystem에 등록되며 매 프레임 자동 업데이트.
public class TimerSystem : ITimerSystem, ITickable
- Inheritance
-
objectTimerSystem
- Implements
Remarks
모든 타이머 상태는 내부 Dictionary로 관리. Tick 중 키 목록 복사 후 순회해 반복자 무효화 방지. DI Singleton으로 등록. PlaySceneScope에서 TickSystem.Register(timerSystem, ServiceTick) 필요. 로컬 단일 쿨타임은 CooldownTimer(struct) 사용이 더 적합.
Methods
IsReady(string)
해당 타이머가 준비 완료(경과 >= duration) 여부.
public bool IsReady(string id)
Parameters
idstring조회 키. 미등록 시 true 반환.
Returns
- bool
Register(string, float)
쿨타임 등록. 이미 존재하는 id는 덮어쓴다.
public void Register(string id, float duration)
Parameters
idstring타이머 식별 키.
durationfloat쿨타임 지속 시간(초).
Reset(string)
해당 타이머 경과 시간 초기화.
public void Reset(string id)
Parameters
idstring리셋할 타이머 키.
Tick(float)
등록된 모든 타이머의 경과 시간을 dt만큼 누적. TickSystem에서 매 프레임 호출.
public void Tick(float dt)
Parameters
dtfloatITimeSystem.DeltaTime 값.
Unregister(string)
타이머 등록 해제.
public void Unregister(string id)
Parameters
idstring해제할 타이머 키.