UNPKG

@senspark/ee

Version:

utility library for cocos creator

27 lines (22 loc) 782 B
import { ObserverManager } from './ObserverManager'; type Observer = (delta: number) => void; export class UpdateManager extends ObserverManager<Observer> { private static sharedInstance?: UpdateManager; public static getInstance(): UpdateManager { return this.sharedInstance || (this.sharedInstance = new this()); } /** Editor only. */ private timer?: NodeJS.Timer; private constructor() { super(); if (CC_EDITOR) { let last = Date.now(); this.timer = setInterval(() => { const now = Date.now(); const delta = now - last; last = now; this.dispatch(observer => observer(delta / 1000 /* seconds */)); }, 1 / 24); } } }