protected override void Update(GameTime gameTime) { float deltaTime = gameTime.ElapsedGameTime.Ticks * SecondsPerTick; stats.OnUpdate(deltaTime); if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) { Exit(); } base.Update(gameTime); inputSystem.Update(); foreach (SystemUpdateTask sut in systemUpdateTasks) { sut.DeltaTime = deltaTime; ITaskCallback callback = Tasks.Enqueue(sut); taskCallbacks.Add(callback); } foreach (ITaskCallback callback in taskCallbacks) { callback.Wait(); } taskCallbacks.Clear(); eventBus.Update(); entityWorld.Commit(); }
public static void Register(ITaskCallback taskCallback) { lock (LockObj) { var cache = Hash.GetOrAdd(taskCallback.Name, (name) => new List <ITaskCallback>()); cache.Add(taskCallback); _clearNum = 0; Timer.Change(1000, Timeout.Infinite); } }
public static bool RegisterSingle(ITaskCallback taskCallback) { var cache = Hash.GetOrAdd(taskCallback.Name, (name) => new List <ITaskCallback>()); if (cache.Count > 0) { return(false); } lock (LockObj) { if (cache.Count > 0) { return(false); } cache.Add(taskCallback); _clearNum = 0; Timer.Change(1000, Timeout.Infinite); return(true); } }
public TaskConfig(TaskId taskId, ITaskCallback callback) { this.taskId = taskId; this.callback = callback; }
public TaskCompletionProxy(ITaskCallback proxy) { this.proxy = proxy; }
public TaskConfig(TaskId taskId, ITaskCallback callback, User user) { this.taskId = taskId; this.callback = callback; this.user = user; }