public void RemoveTimeCountDownRoutine(uint tokenID) { for (int i = CountDownRoutineList.Count - 1; i >= 0; i--) { CountDownRoutine timeCountDown = CountDownRoutineList[i]; if (timeCountDown.TokenID == tokenID) { CountDownRoutineList.Remove(timeCountDown); } } }
private void UpdateCountDownRoutine(float deltaTime) { currentTimeCountDownInterval += deltaTime; if (currentTimeCountDownInterval > timeCountDownInterval) { currentTimeCountDownInterval = 0; for (int i = CountDownRoutineList.Count - 1; i >= 0; i--) { CountDownRoutine timeCountDown = CountDownRoutineList[i]; if (timeCountDown.CallBackTime < currentTimeTick) { timeCountDown.CountDownCallBack(); CountDownRoutineList.Remove(timeCountDown); } } } }
public uint AddTimeCountDownRoutine(long unixTime, CountDownDelegate onTimeCountDownRoutine) { long nowTime = currentTimeTick; long delayTime = unixTime - nowTime; if (onTimeCountDownRoutine != null && delayTime > 0) { timeCountDownTokenID++; CountDownRoutine timeCountDown = new CountDownRoutine(); timeCountDown.CountDownCallBack = onTimeCountDownRoutine; timeCountDown.CallBackTime = unixTime; timeCountDown.TokenID = timeCountDownTokenID; CountDownRoutineList.Add(timeCountDown); return(timeCountDownTokenID); } return(0); }