public void Update() { var millis = (uint)(DateTime.Now - startTime).TotalMilliseconds; if (millis >= m_Millis) { if (m_Callback != null) { m_Callback(); m_Callback = null; } } else { var diff = m_Millis - millis; if (diff > 10000) { m_priority = UpdatePriority.Background; } else { m_priority = UpdatePriority.Active; } } }
public LambdaAction(T obj, UpdatePriority updatePriority, Scene scene, ICondition condition, Action <T, TimeSpan> action) { priority = updatePriority; Object = obj; Action = action; Condition = condition; scene.AddObject(this); }
public void Update() { uint totalMilliseconds = (uint)(DateTime.Now - this.startTime).TotalMilliseconds; if ((long)totalMilliseconds >= (long)this.m_Millis) { if (this.m_Callback == null) { return; } this.m_Callback(); this.m_Callback = (Action)null; } else if ((long)this.m_Millis - (long)totalMilliseconds > 10000L) { this.m_priority = UpdatePriority.Background; } else { this.m_priority = UpdatePriority.Active; } }
public UpdateGroup(UpdatePriority priority) { Priority = priority; }
public void SetUpdatePriority(UpdatePriority priority) { m_UpdatePriority = priority; }
private void Priority_ValueChanged(object sender, EventArgs e) { UpdatePriority.Invoke((int)numericUpDown_Priority.Value); }
public void SetInterval(UpdatePriority priority, TimeSpan interval) { this.intervals[(int)priority] = interval; }
public TimeSpan GetInterval(UpdatePriority priority) { return(this.intervals[(int)priority]); }