public IRenderingTester(TWEngine engine, IActionScheduler scheduler, ParticlesBoxRenderer particleBoxRenderer) { this.engine = engine; this.scheduler = scheduler; this.particleBoxRenderer = particleBoxRenderer; scheduler.SetCurrentTime(TW.Graphics.TotalRunTime); engine.AddSimulator(new BasicSimulator(update)); engine.AddSimulator(new WorldRenderingSimulator()); }
public void TestSchedule() { var scheduler = new IActionScheduler(); var value = 0; scheduler.SetCurrentTime(0); scheduler.SetTimeout(2, () => value = 5); scheduler.SetTimeout(3, () => value = 3); scheduler.SetTimeout(6, () => value++); scheduler.SetTimeout(6, () => value++); scheduler.SetTimeout(8, () => { value = 10; scheduler.SetTimeout(1, () => value++); }); scheduler.ExecuteActions(1); Assert.AreEqual(0, value); scheduler.ExecuteActions(1.5f); Assert.AreEqual(0, value); scheduler.ExecuteActions(2); Assert.AreEqual(5, value); scheduler.ExecuteActions(3); Assert.AreEqual(3, value); scheduler.ExecuteActions(4); Assert.AreEqual(3, value); scheduler.ExecuteActions(6); Assert.AreEqual(5, value); scheduler.ExecuteActions(6.5f); Assert.AreEqual(5, value); scheduler.ExecuteActions(8); Assert.AreEqual(10, value); scheduler.ExecuteActions(8.5f); Assert.AreEqual(10, value); scheduler.ExecuteActions(9); Assert.AreEqual(11, value); }