public SceneCreatorActor(KnownPaths knownPaths) { //upsert Receive <CreateScene>(e => { //stop prev version if exists var old = Context.System.ActorSelection($"/user/$a/$a/{e.SceneConfig.Name}-*"); old.Tell(PoisonPill.Instance); //start new Context.ActorOf(SceneActor.Props(e.SceneConfig, knownPaths), $"{e.SceneConfig.Name}-{Salt.Gen()}"); }); //delete Receive <RemoveScene>(e => { //stop prev version if exists var old = Context.System.ActorSelection($"/user/$a/$a/{e.SceneConfig.Name}-*"); old.Tell(PoisonPill.Instance); }); }
public SceneActor(SceneConfig sceneConfig, KnownPaths knownPaths) { foreach (var sceneAction in sceneConfig.Actions) { Context.ActorOf(ActionActor.Props(sceneAction, knownPaths), $"{sceneAction.Name}-{Salt.Gen()}"); } }