public void IncrementFrame(float dt)
{
curFrame++;
timePlayed += dt;
if(tmpParticles.Count > 0) {
lock(lckParticles) {
particles.AddRange(tmpParticles);
}
tmpParticles = new List<Particle>();
}
}
// The Update Function public void Update(GameState s, float dt) { s.IncrementFrame(dt); s.gtC.ApplyFrame(s, dt); // Input Pass ResolveInput(s, dt); ApplyInput(s, dt); // Apply Any Finished Squad-Level Pathfinding Queries ApplySquadQueries(); // Logic Pass ApplyLogic(s, dt); // Physics Pass ResolvePhysics(s, dt); // Cleanup The State Cleanup(s, dt); vManager.Update(); }