private void Start() { agentStateManager = this.GetComponent <AgentStateManager>(); this.OnTriggerEnterAsObservable() .Where(collision => collision.tag == "Explosion") .Subscribe(_ => agentStateManager.SetPlayerState(AgentState.Collapse)); }
// Start is called before the first frame update void Start() { agentStateManager = this.GetComponent <AgentStateManager>(); this.agentStateManager .CurrentPlayerState .Where(state => state == AgentState.Collapse) .Subscribe(_ => this.hp.Value -= 100.0f) .AddTo(this); }
// Start is called before the first frame update void Start() { agentStateManager = this.GetComponent <AgentStateManager>(); agentStateManager .CurrentPlayerState .Where(state => state == AgentState.Collapse) .Delay(TimeSpan.FromSeconds(1.0f)) .Subscribe(_ => agentStateManager.SetPlayerState(AgentState.Idle)) .AddTo(this); }
/// <summary> /// This is a required override, /// This method is called by UII to Set the low level interface for CTI. /// This interface is also used to initialize the AgentState and CallState Managers /// </summary> /// <param name="ctiRoot">Pointer to the UII Cti Base Object</param> public override void SetRootCtiInterface(ICtiControl ctiRoot) { // Set up the AgentState Manager, and Set the internal UII Object Agent State object. localAgentStateManager = new AgentStateManager(ctiRoot); AgentStateManager = (ICtiAgentStateManager)localAgentStateManager; // Set up the CallState Manager, and Set the internal UII Object Call State object. localCallStateManager = new CallStateManager(ctiRoot); CallStateManager = (ICtiCallStateManager)localCallStateManager; // Wire base events for call management. if (CallStateManager != null) { CallStateManager.EnableAutoAnswer = true; CallStateManager.EnableOverrideAutoAnswerOnExistingCalls = true; CallStateManager.CallManagerStateNewCall += new EventHandler <NewCallEventArgs>(OnCallManagerStateNewCall); CallStateManager.CallManagerStateUpdate += new EventHandler <CtiCallEventArgs>(OnCallManagerStateUpdate); } base.SetRootCtiInterface(ctiRoot); }