Interface ITickable
TickSystem으로부터 매 프레임(또는 지정 Interval마다) Tick을 받는 계약.
public interface ITickable
Examples
public class PlayerService : ITickable
{
public void Tick(float dt)
{
// dt = ITimeSystem.DeltaTime. Pause 시 0.
_position += _velocity * dt;
}
}
// PlaySceneScope 등록:
tick.Register(resolver.Resolve<PlayerService>(), TickInterval.ServiceTick);
Remarks
[금지] MonoBehaviour.Update 직접 사용. 모든 프레임 업데이트는 이 인터페이스를 통해 처리한다.
[규칙] dt는 ITimeSystem.DeltaTime에서 전달된 값만 사용한다. Time.deltaTime 직접 참조 금지.
[규칙] Pool 대상은 OnGet()에서 TickSystem.Register, OnRelease()에서 Unregister한다.
같은 TickInterval 그룹 내 실행 순서는 Register 호출 순서와 동일하다.
Methods
Tick(float)
매 프레임(또는 TickInterval에 따라) 호출되는 업데이트 메서드.
void Tick(float dt)
Parameters
dtfloatITimeSystem에서 전달된 DeltaTime. IsPaused 상태이면 0.