public void Update(SystemDataFilter filter) { Counter counter = filter.GetWritableResc <Counter>(); counter.current++; filter.SetWritableResc(counter); }
public void Update(SystemDataFilter filter) { Counter counter = filter.GetReadableResc <Counter>(); if (counter.current % 2 == 1) { Console.WriteLine("ODD!"); } }
public void Update(SystemDataFilter filter) { Time time = filter.GetWritableResc <Time>(); if (time.initialized) { time.deltaTime = DateTime.Now.Millisecond - time.lastTime; time.lastTime = DateTime.Now.Millisecond; time.total += time.deltaTime; } else { time.lastTime = DateTime.Now.Millisecond; time.total = 0; time.deltaTime = 0; time.initialized = true; } filter.SetWritableResc <Time>(time); }
internal void RunUpdateSystemGroup(List <ISystem> systems) { List <Thread> threads = new List <Thread>(); foreach (ISystem s in systems) { SystemDataFilter sFilter = new SystemDataFilter(this, s.compRead, s.compWrite, s.compAddable, s.compExclude, s.rescRead, s.rescWrite, s.entityAccess, s.entityDeleteAccess); Thread sThread = new Thread(delegate() { s.Update(sFilter); foreach (KeyValuePair <Type, IComponent> kvp in sFilter.rescWrite) { resourceLUT[kvp.Key] = kvp.Value; } }); sThread.Start(); threads.Add(sThread); } foreach (Thread t in threads) { t.Join(); } }
public void Update(SystemDataFilter filter) { Time time = filter.GetReadableResc <Time>(); Console.WriteLine("Total Time:\t" + time.total + "\tDeltaTime:\t" + time.deltaTime); }