public ExperimentBase ToExperiment() { Component environment = EnvironmentRegistry .GetEnvironments() .Single(t => t.FullName.Equals(this.EnvironmentTypeName)) .InstantiateWithDefaultConstructor <Component>(); Component presentationEnvironment = environment.Clone(); Component agent = AgentRegistry .GetAgents(environment.ComponentType) .Single(t => t.FullName.Equals(this.AgentTypeName)) .InstantiateWithDefaultConstructor <Component>(); ExperimentBase result = ExperimentBase.Instantiate(environment, presentationEnvironment, agent); result.SetParametersFromSnapshot(this.ExperimentParameters); environment.SetParametersFromSnapshotWithInnerObjects(this.EnvironmentParameters); presentationEnvironment.SetParametersFromSnapshotWithInnerObjects(this.EnvironmentParameters); agent.SetParametersFromSnapshotWithInnerObjects(this.AgentParameters); result.Reporter = this.ReporterTemplate.ToReporter( ReportTrigger.GetReportTriggers().ToArray(), DataSource.GetDataSources(result).ToArray(), DataAccumulator.GetDataAccumulators().ToArray()); return(result); }
private void CreateAgents() { _agents = new AgentRegistry(); _agents.Bind <IBoardAgent, BoardAgent>(new BoardAgent(_boardModel)); _agents.Bind <IArbiterAgent, ArbiterAgent>(new ArbiterAgent(_arbiterModel)); _agents.Bind <IEndTurnButtonAgent, EndTurnButtonAgent>(); _agents.Bind <ICardAgent, CardAgent>(); _agents.Bind <IDeckAgent, DeckAgent>(); _agents.Bind <IHandAgent, HandAgent>(); _agents.Bind <IPieceAgent, PieceAgent>(); _agents.Bind <IPlayerAgent, PlayerAgent>(); _agents.Resolve(); BoardAgent = _agents.New <IBoardAgent>(); ArbiterAgent = _agents.New <IArbiterAgent>(); WhitePlayerAgent = _agents.New <IPlayerAgent>(_whitePlayerModel); BlackPlayerAgent = _agents.New <IPlayerAgent>(_blackPlayerModel); }
public void Continue() { //Debug.Log("Moving from node " + current.name); if (current == null) { //We are done valueRegistry = null; agentRegistry = null; stringRegistry = null; //Dereference return; } current.MoveNext(); //Debug.Log("To node " + current.name); }
private void RebuildLists() { this.agentListView.Items.Clear(); this.environmentListView.Items.Clear(); this.agentListView.Items.AddRange(AgentRegistry .GetAgents(GetCurrentComponentType()) .Select(type => new ListViewItem(type.Name) { Tag = type }) .ToArray()); this.environmentListView.Items.AddRange(EnvironmentRegistry .GetEnvironments(GetCurrentComponentType()) .Select(type => new ListViewItem(type.Name) { Tag = type }) .ToArray()); }
protected override void SetupTest() { base.SetupTest(); _agency = new AgentRegistry(); _agency.Bind <IBoardAgent, BoardAgent>(new BoardAgent(_board)); _agency.Bind <IArbiterAgent, ArbiterAgent>(new ArbiterAgent(_arbiter)); _agency.Bind <ICardAgent, CardAgent>(); _agency.Bind <IDeckAgent, DeckAgent>(); _agency.Bind <IHandAgent, HandAgent>(); _agency.Bind <IPieceAgent, PieceAgent>(); _agency.Bind <IWhitePlayerAgent, TWhite>(); _agency.Bind <IBlackPlayerAgent, TBlack>(); _agency.Resolve(); _boardAgent = _agency.New <IBoardAgent>(); _arbiterAgent = _agency.New <IArbiterAgent>(); _whiteAgent = _agency.New <IWhitePlayerAgent>(_white); _blackAgent = _agency.New <IBlackPlayerAgent>(_black); }
public void Play(DialogueSystem system) { if (!Verify()) { Debug.Log("Failed to play DialogueGraph: " + name); return; } //Get dependencies valueRegistry = MainInstances.Get <ValueRegistry>(); agentRegistry = MainInstances.Get <AgentRegistry>(); stringRegistry = MainInstances.Get <StringRegistry>(); currentSystem = system; current = entry; current.MoveNext(); //We started the graph }
protected override void SetupTest() { base.SetupTest(); _agency = new AgentRegistry(); _agency.Bind <IBoardAgent, BoardAgent>(new BoardAgent(_board)); _agency.Bind <IArbiterAgent, ArbiterAgent>(new ArbiterAgent(_arbiter)); _agency.Bind <ICardAgent, CardAgent>(); _agency.Bind <IDeckAgent, DeckAgent>(); _agency.Bind <IHandAgent, HandAgent>(); _agency.Bind <IPieceAgent, PieceAgent>(); _agency.Bind <IEndTurnButtonAgent, Impl.EndTurnButtonAgent>(); _agency.Bind <IWhitePlayerAgent, MockWhitePlayerAgent>(); _agency.Bind <IBlackPlayerAgent, MockBlackPlayerAgent>(); _agency.Resolve(); _boardAgent = _agency.Get <IBoardAgent>(); _arbiterAgent = _agency.Get <IArbiterAgent>(); _whiteAgent = _agency.Get <IWhitePlayerAgent>(_white); _blackAgent = _agency.Get <IBlackPlayerAgent>(_black); }