Table of Contents

Class TimerSystem

Namespace
Framework.Systems.Time.Timer
Assembly
Assembly-CSharp.dll

ITimerSystem 구현체. ITickable을 구현해 TickSystem에 등록되며 매 프레임 자동 업데이트.

public class TimerSystem : ITimerSystem, ITickable
Inheritance
object
TimerSystem
Implements

Remarks

모든 타이머 상태는 내부 Dictionary로 관리. Tick 중 키 목록 복사 후 순회해 반복자 무효화 방지. DI Singleton으로 등록. PlaySceneScope에서 TickSystem.Register(timerSystem, ServiceTick) 필요. 로컬 단일 쿨타임은 CooldownTimer(struct) 사용이 더 적합.

Methods

IsReady(string)

해당 타이머가 준비 완료(경과 >= duration) 여부.

public bool IsReady(string id)

Parameters

id string

조회 키. 미등록 시 true 반환.

Returns

bool

Register(string, float)

쿨타임 등록. 이미 존재하는 id는 덮어쓴다.

public void Register(string id, float duration)

Parameters

id string

타이머 식별 키.

duration float

쿨타임 지속 시간(초).

Reset(string)

해당 타이머 경과 시간 초기화.

public void Reset(string id)

Parameters

id string

리셋할 타이머 키.

Tick(float)

등록된 모든 타이머의 경과 시간을 dt만큼 누적. TickSystem에서 매 프레임 호출.

public void Tick(float dt)

Parameters

dt float

ITimeSystem.DeltaTime 값.

Unregister(string)

타이머 등록 해제.

public void Unregister(string id)

Parameters

id string

해제할 타이머 키.