From 08c7e8ac1d61e1d6895adb3a3fb95b4c4037a422 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Tue, 24 Jul 2018 15:08:39 +0200 Subject: [PATCH] Add Setter Function to VariableRender Interface --- lib/game/LoopExample.dart | 7 ++++--- lib/src/04-FixedLoopVariableRender.dart | 8 +++++++- lib/src/05_DirtyFlagRendering.dart | 8 +++++++- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/lib/game/LoopExample.dart b/lib/game/LoopExample.dart index 2e2996f..d34a98c 100644 --- a/lib/game/LoopExample.dart +++ b/lib/game/LoopExample.dart @@ -3,10 +3,11 @@ import 'package:browserloop/game/Game.dart'; abstract class LoopExample { Game game; - void stop() {} - void start() {} + void stop(); + + void start(); } abstract class VariableUpdates { - double MS_PER_UPDATE = 300.0; + void setUpdates(double updateRate); } diff --git a/lib/src/04-FixedLoopVariableRender.dart b/lib/src/04-FixedLoopVariableRender.dart index b51e268..df31f2a 100644 --- a/lib/src/04-FixedLoopVariableRender.dart +++ b/lib/src/04-FixedLoopVariableRender.dart @@ -33,7 +33,8 @@ class FixedLoopVariableRender implements LoopExample, VariableUpdates { game.draw(interp); } - // Starting and stopping the loop for the example page + // CONTROLS ON THE EXAMPLE PAGE + // NOT NECESSARY FOR LOOP ITSELF void stop() { elapsed.stop(); window.cancelAnimationFrame(id); @@ -44,4 +45,9 @@ class FixedLoopVariableRender implements LoopExample, VariableUpdates { elapsed.reset(); window.requestAnimationFrame(eventloop); } + + @override + void setUpdates(double updateRate) { + MS_PER_UPDATE = updateRate; + } } diff --git a/lib/src/05_DirtyFlagRendering.dart b/lib/src/05_DirtyFlagRendering.dart index 4cac73c..7bb020f 100644 --- a/lib/src/05_DirtyFlagRendering.dart +++ b/lib/src/05_DirtyFlagRendering.dart @@ -39,7 +39,8 @@ class DirtyFlagRender implements LoopExample, VariableUpdates { dirty = false; } - // Starting and stopping the loop for the example page + // CONTROLS ON THE EXAMPLE PAGE + // NOT NECESSARY FOR LOOP ITSELF void stop() { elapsed.stop(); window.cancelAnimationFrame(id); @@ -50,4 +51,9 @@ class DirtyFlagRender implements LoopExample, VariableUpdates { elapsed.reset(); window.requestAnimationFrame(eventloop); } + + @override + void setUpdates(double updateRate) { + MS_PER_UPDATE = updateRate; + } }