private void RegisterSubscriber(SendEvents subscription) { _bc.Subscribe(subscription.Subscriber); if (subscription.SyncPolocy == SynchronizationPolocy.SendArchivedMessages) { foreach (var lib in _libraries) { _bc.Publish(new Added <Library>(lib)); } } }
//gets called when interacting with the action window or if something has changed public override bool OnGUI() { //reset isDirty isDirty = false; //get action and FSM reference action = target as SendEvents; EditField("eventTarget"); switch (action.eventTarget) { case FsmEventTarget.EventTarget.Self: default: break; case FsmEventTarget.EventTarget.GameObject: EditField("gameObjects"); EditField("sendToChildren"); break; case FsmEventTarget.EventTarget.GameObjectFSM: EditField("gameObjects"); EditField("FSMName"); break; case FsmEventTarget.EventTarget.FSMComponent: EditField("fsmComponents"); break; case FsmEventTarget.EventTarget.BroadcastAll: EditField("excludeSelf"); break; case FsmEventTarget.EventTarget.HostFSM: break; case FsmEventTarget.EventTarget.SubFSMs: EditField("subFSMName"); break; } EditField("sendEvent"); if (action.eventTarget != FsmEventTarget.EventTarget.BroadcastAll && !action.everyFrame) { EditField("delay"); } EditField("everyFrame"); EditField("updateType"); //needs to be at the end and tells OnGUI if something has changed return(isDirty || GUI.changed); }
public MainWindowViewModel(IActorRef library) { _libDirector = library; _libDirector.Tell(SendEvents.To(this).IncludeArchivedEvents()); }