Example #1
0
 public virtual void OnMessage(T agent, WestWorldMessage message)
 {
     Debug.Log(string.Format(
                   "Message '{0}' recieved at {1}",
                   message.ToString(),
                   Time.time));
 }
Example #2
0
 public override void OnMessage(BarTender bartender, WestWorldMessage message)
 {
     base.OnMessage(bartender, message);
     if (message.Equals(WestWorldMessage.NeedDrink))
     {
         bartender.StateMachine.ChangeState(ServeDrink.Instance);
     }
 }
Example #3
0
 public override void OnMessage(Miner miner, WestWorldMessage message)
 {
     base.OnMessage(miner, message);
     if (message.Equals(WestWorldMessage.ServeDrink))
     {
         miner.DrinkWhisky();
         miner.Speak("That's mighty fine sippin' liquer");
         miner.StateMachine.ChangeState(EnterMineAndDigForNugget.Instance);
     }
 }
Example #4
0
 public void HandleMessage(WestWorldMessage message)
 {
     if (this._currentState != null)
     {
         this._currentState.OnMessage(_agent, message);
     }
     if (this._globalState != null)
     {
         this._globalState.OnMessage(_agent, message);
     }
 }
 public override void OnMessage(Miner miner, WestWorldMessage message)
 {
     base.OnMessage(miner, message);
     switch (message)
     {
     case WestWorldMessage.StewReady:
         miner.Speak("Okay hun, ahm a-comin'!");
         miner.StateMachine.ChangeState(EatStew.Instance);
         break;
     }
 }
    public override void OnMessage(MinersWife wife, WestWorldMessage message)
    {
        base.OnMessage(wife, message);
        switch (message)
        {
        case WestWorldMessage.HoneyImHome:
            wife.Speak("Hi honey. Let me make you some of mah fine country stew");
            wife.StateMachine.ChangeState(CookStew.Instance);
            break;

        case WestWorldMessage.StewReady:
            wife.Speak("Stew ready! Let's eat");
            wife.husband.DispatchMessage(WestWorldMessage.StewReady);
            wife.cooking = false;
            wife.StateMachine.ChangeState(DoHousework.Instance);
            break;
        }
    }
Example #7
0
    IEnumerator DispatchMessageAfterDelay(float delay, WestWorldMessage message)
    {
        yield return(new WaitForSeconds(delay));

        this.DispatchMessage(message);
    }
Example #8
0
 public void DelayedMessage(float delay, WestWorldMessage message)
 {
     StartCoroutine(DispatchMessageAfterDelay(delay, message));
 }
Example #9
0
 public void DispatchMessage(WestWorldMessage message)
 {
     this.StateMachine.HandleMessage(message);
 }