public virtual void Install(StoryContext context) { context.AssetSource = new ResourceAssetManager(); var scenarioRepository = new ScenarioRepository(); scenarioRepository.AddScript(scenario.name, scenario.text); context.ScenarioRepository = scenarioRepository; context.VariableRepository = new TempVariableRepository(); context.ScenarioMacroRepository = new ScenarioMacroRepository(); var actorFactory = new ActorFactory <SpriteActor>(); context.ActorFactory = actorFactory; context.ScenePresenter = scenePresenter; context.ActorPresenter = actorPresenter; context.SystemSound = systemSound; audioPlayer.assetSource = context.AssetSource; context.AudioPlayer = audioPlayer; context.MessagePresenter = messagePresenter; context.SystemPresenter = scenePresenter; context.SelectionPresenter = selectionPresenter; context.MessageLogger = messageLogPresenter; }