diff --git a/lib/app_component.dart b/lib/app_component.dart index 2d4557f..eaa2e41 100644 --- a/lib/app_component.dart +++ b/lib/app_component.dart @@ -6,6 +6,7 @@ import 'package:rules_of_living/components/header_component.dart'; import 'package:rules_of_living/components/simulation_component.dart'; import 'package:rules_of_living/service/configuration_service.dart'; import 'package:rules_of_living/service/engine_service.dart'; +import 'package:rules_of_living/service/simulation_service.dart'; @Component( selector: 'my-app', @@ -24,6 +25,7 @@ import 'package:rules_of_living/service/engine_service.dart'; materialProviders, ClassProvider(EngineService), ClassProvider(ConfigurationService), + ClassProvider(SimulationService) ], styleUrls: const [ 'package:angular_components/app_layout/layout.scss.css', diff --git a/lib/components/controls_component.dart b/lib/components/controls_component.dart index 511a7d4..e524e60 100644 --- a/lib/components/controls_component.dart +++ b/lib/components/controls_component.dart @@ -1,6 +1,7 @@ import 'package:angular/angular.dart'; import 'package:angular_components/angular_components.dart'; import 'package:rules_of_living/service/engine_service.dart'; +import 'package:rules_of_living/service/simulation_service.dart'; @Component( selector: 'sim-controls', @@ -16,8 +17,9 @@ import 'package:rules_of_living/service/engine_service.dart'; ) class ControlsComponent { final EngineService engine; + final SimulationService sim; - ControlsComponent(this.engine); + ControlsComponent(this.engine, this.sim); void onStartClicked() { engine.toggleRunning(); @@ -28,14 +30,14 @@ class ControlsComponent { } void onResetClicked() { - engine.reset(); + sim.reset(); } void onRandomClicked() { - engine.addRandomPattern(); + sim.addRandomPattern(); } void onClearClicked() { - engine.clear(); + sim.clear(); } } diff --git a/lib/service/simulation_service.dart b/lib/service/simulation_service.dart new file mode 100644 index 0000000..1081bf0 --- /dev/null +++ b/lib/service/simulation_service.dart @@ -0,0 +1,19 @@ +import 'package:rules_of_living/service/engine_service.dart'; + +class SimulationService { + final EngineService engine; + + SimulationService(this.engine); + + void reset() { + engine.reset(); + } + + void addRandomPattern() { + engine.addRandomPattern(); + } + + void clear() { + engine.clear(); + } +}