Neodroid  0.2.0
Machine Learning Environment Prototyping Tool
Reaction.cs
Go to the documentation of this file.
1 using System;
2 using System.Linq;
5 
6 namespace droid.Runtime.Messaging.Messages {
9  [Serializable]
10  public class Reaction {
14  public override string ToString() {
15  var motions_str = "";
16  if (this.Motions != null) {
17  motions_str = this.Motions.Aggregate(motions_str, (current, motion) => current + (motion + "\n"));
18  }
19 
20  var configurations_str = "";
21  if (this.Configurations != null) {
22  configurations_str =
23  this.Configurations.Aggregate(configurations_str,
24  (current, configuration) => current + (configuration + "\n"));
25  }
26 
27  var displayables_str = "";
28  if (this.Displayables != null) {
29  displayables_str =
30  this.Displayables.Aggregate(displayables_str,
31  (current, displayable) => current + (displayable + "\n"));
32  }
33 
34  return "<Reaction>\n "
35  + $"{this.RecipientEnvironment},{this.Parameters},{motions_str},{configurations_str},{this.Unobservables},{displayables_str},{this.SerialisedMessage}"
36  + "\n</Reaction>";
37  }
38 
39  #region Constructors
40 
41  public Reaction(ReactionParameters parameters,
42  IMotion[] motions,
43  Configuration[] configurations,
44  Unobservables unobservables,
45  Displayable[] displayables,
46  String serialised_message,
47  string recipient_environment = "all") {
48  this.Parameters = parameters;
49  this.Motions = motions;
50  this.Configurations = configurations;
51  this.Unobservables = unobservables;
52  this.Displayables = displayables;
53  this.RecipientEnvironment = recipient_environment;
54  this.SerialisedMessage = serialised_message;
55  }
56 
59  public String RecipientEnvironment { get; } = "all";
60 
63  public string SerialisedMessage { get; }
64 
65  public Reaction(ReactionParameters reaction_parameters, String recipient_environment) {
66  this.Parameters = reaction_parameters;
67  this.RecipientEnvironment = recipient_environment;
68  }
69 
70  public Reaction(ReactionParameters reaction_parameters) { this.Parameters = reaction_parameters; }
71 
72  #endregion
73 
74  #region Getters
75 
78  public Displayable[] Displayables { get; }
79 
82  public IMotion[] Motions { get; }
83 
86  public Configuration[] Configurations { get; }
87 
90  public ReactionParameters Parameters { get; } = new ReactionParameters();
91 
94  public Unobservables Unobservables { get; } = new Unobservables();
95 
96  #endregion
97  }
98 }
Reaction(ReactionParameters reaction_parameters, String recipient_environment)
Definition: Reaction.cs:65
Reaction(ReactionParameters parameters, IMotion[] motions, Configuration[] configurations, Unobservables unobservables, Displayable[] displayables, String serialised_message, string recipient_environment="all")
Definition: Reaction.cs:41
Reaction(ReactionParameters reaction_parameters)
Definition: Reaction.cs:70