public void StepSimulation(SimulationTime deltaTime, SimulationCommand[] commands)
 {
     //Run precomponents of all commands
     for (int i = 0; i < commands.Length; i++)
     {
         commands[i].PreComponentCalcuation(this.Scene, deltaTime);
     }
     this.Scene.RunComponents();
     //Run precomponents of all commands
     for (int i = 0; i < commands.Length; i++)
     {
         commands[i].PostComponentCalculation(this.Scene, deltaTime);
     }
 }
 public virtual void PreComponentCalcuation(Scenegraph scene, SimulationTime time)
 {
     //nothing
 }
 public virtual void PostComponentCalculation(Scenegraph scene, SimulationTime time)
 {
 }
 public override void PreComponentCalcuation(Scenegraph scene, SimulationTime deltaTime)
 {
 }