public override void Invoke(ISequenceGameEvent owner, Actor invoker) { Broker.Global.Publish(RequestShowTalk.Get(this.message.Get)); Broker.Global.Receive <EndTalk>() .Take(1) .SubscribeWithState3(this, owner, invoker, (_, _this, _owner, _invoker) => { _owner.Next(_this.nextElement, _invoker); }); }
public override void Invoke(ISequenceGameEvent owner, Actor invoker) { Broker.Global.Publish(CreateAccessoryUserInputMessages.Request.Get(invoker)); Broker.Global.Receive <CreateAccessoryUserInputMessages.End>() .Take(1) .SubscribeWithState3(this, owner, invoker, (_, _this, _owner, _invoker) => { _owner.Next(_this.nextElement, _invoker); }) .AddTo(invoker); }
public override void Invoke(ISequenceGameEvent owner, Actor invoker) { var messages = this.elements.Select(x => x.message.Get).ToArray(); Broker.Global.Publish(RequestShowChoicesUI.Get(messages)); Broker.Global.Receive <DecidedChoicesIndex>() .Take(1) .SubscribeWithState3(this, owner, invoker, (x, _this, _owner, _invoker) => { _owner.Next(_this.elements[x.Index].nextSequence, _invoker); }) .AddTo(invoker); }
public override void Invoke(ISequenceGameEvent owner, Actor invoker) { owner.Complete(); }
public abstract void Invoke(ISequenceGameEvent owner, Actor invoker);
public override void Invoke(ISequenceGameEvent owner, Actor invoker) { Broker.Global.Publish(RequestHideTalk.Get()); owner.Next(this.nextElement, invoker); }