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); }
void Update() { if (Input.GetKeyDown(KeyCode.Q)) { Broker.Global.Publish(ChangeWeaponUserInputMessages.Request.Get(this.actor)); } if (Input.GetKeyDown(KeyCode.W)) { Broker.Global.Publish(ChangeAccessoryUserInputMessages.Request.Get(this.actor)); } if (Input.GetKeyDown(KeyCode.E)) { Broker.Global.Publish(RequestShowChoicesUI.Get(this.choicesMessages)); } if (Input.GetKeyDown(KeyCode.R)) { Broker.Global.Publish(AttachItemModifierToWeaponUserInputMessages.Request.Get(this.actor)); } if (Input.GetKey(KeyCode.T)) { Broker.Global.Publish(RequestSpawnMoney.Get(this.actor, 100, this.actor.CachedTransform.position + new Vector3(1.0f, 1.0f, 0.0f))); } if (Input.GetKeyDown(KeyCode.Y)) { Broker.Global.Publish(CreateWeaponUserInputMessages.Request.Get(this.actor)); } if (Input.GetKeyDown(KeyCode.U)) { Broker.Global.Publish(CreateAccessoryUserInputMessages.Request.Get(this.actor)); } this.InputOnCtrlKey(); }