From 6b4786fdd08e250da3cd8ac60dfab47d4d7b73db Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 18 Oct 2018 12:05:02 +0200 Subject: [PATCH] Add SimulationService to controls Will eventually attach to the Simulation directly without first going through Engine. For now just redirects calls to EngineService to keep functions intact. --- lib/app_component.dart | 2 ++ lib/components/controls_component.dart | 10 ++++++---- lib/service/simulation_service.dart | 19 +++++++++++++++++++ 3 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 lib/service/simulation_service.dart 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(); + } +}