예제 #1
0
    void FSM_Vagar()
    {
        switch (estadoVagar)
        {
        case VagarFSM.PENSAR:
            posVagar = new Vector3(Random.Range(min.x, max.x), Random.Range(min.y, max.y), Random.Range(min.z, max.z));
            walkTo(posVagar);
            estadoVagar = VagarFSM.VAGAR;
            break;

        case VagarFSM.VAGAR:
            if (isInPosition())
            {
                estadoVagar = VagarFSM.PENSAR;
            }
            break;
        }
    }
예제 #2
0
    // Start is called before the first frame update
    void Start()
    {
        //Posición de spawn
        min = mundo.minSpawnCliente;
        max = mundo.maxSpawnCliente;
        transform.position = new Vector3(Random.Range(min.x, max.x), Random.Range(min.y, max.y), Random.Range(min.z, max.z));

        //Segundos
        this.timer         = Random.Range(5f, 10f);
        this.estadoActual  = EstadosFSM.VAGAR;
        this.estadoVagar   = VagarFSM.PENSAR;
        this.inPosCola     = false;
        this.avisoMaitre   = false;
        this.avisoSentarse = false;
        this.decidido      = false;
        this.servido       = false;
        this.atendido      = false;
        maitre             = FindObjectOfType <Maitre>();
    }