예제 #1
0
    protected void FSM_VejigaBaja()
    {
        switch (estado_vejiga)
        {
        case STATE_VejigaBaja.BUSCANDO:
            ShowEmoticon("PiPi");
            currentState  = "[FSM Baño] Buscando baño";
            bathObjective = BathInSight();
            if (bathObjective == null)
            {
                CheckPee();
                Pasear();
            }
            else
            {
                currentState = "[FSM Baño] Yendo al baño";
                ShowEmoticon("PiPi");
                bathObjective.AddUser(this);
                estado_vejiga = STATE_VejigaBaja.ESPERANDO_BAÑO;
            }
            break;

        case STATE_VejigaBaja.ESPERANDO_BAÑO:
            currentState = "[FSM Baño] Esperando al baño";
            CheckPee();
            break;

        case STATE_VejigaBaja.ORINANDO_BAÑO:
            currentState = "[FSM Baño] Usando el baño";
            break;

        case STATE_VejigaBaja.ORINANDO_ENCIMA:
            if (bathObjective != null)
            {
                bathObjective.Leave(this);
            }
            vejiga        = 100;
            estado_vejiga = STATE_VejigaBaja.BUSCANDO;
            break;
        }
    }