示例#1
0
    private void TransmitirMensaje()
    {
        GameObject antenaFisicaTransmisora = GetAntenaFisica(_antenaTransmisoraMensaje);

        antenaFisicaTransmisora.GetComponent <Animator>().SetBool("Emitiendo", false);

        _antenaTransmisoraMensaje = _antenaTransmisoraMensaje.GetRuta(RedCom.AntenaReceptora);
        _antenaTransmisoraMensaje.MensajeTrasnmitido = true;
        if (_antenaTransmisoraMensaje == RedCom.AntenaReceptora)
        {
            MensajeEnDestino();
        }

        antenaFisicaTransmisora = GetAntenaFisica(_antenaTransmisoraMensaje);
        antenaFisicaTransmisora.GetComponent <Animator>().SetBool("Emitiendo", true);
    }
示例#2
0
    void Update()
    {
        foreach (var nodo in RedCom.Antenas)
        {
            foreach (var conexion in nodo.Conexiones)
            {
                Debug.DrawRay(new Vector3(nodo.X, nodo.Y, 0), new Vector3(conexion.X - nodo.X, conexion.Y - nodo.Y, 0));
            }
        }

        // Input
        ManageInput();

        // Mensaje
        _timerTransmision += Time.deltaTime;
        if (_timerTransmision > TiempoDeTransmision)
        {
            TransmitirMensaje();
            _timerTransmision = 0;
        }

        // Ping
        if (_pinging)
        {
            _timerPing += Time.deltaTime;
            float alphaPing = _timerPing / TiempoDePing;
            float pingX     = (1 - alphaPing) * _antenaTransmisoraPing.X +
                              alphaPing * _antenaTransmisoraPing.GetRuta(_antenaDestinoPing).X;
            float pingY = (1 - alphaPing) * _antenaTransmisoraPing.Y +
                          alphaPing * _antenaTransmisoraPing.GetRuta(_antenaDestinoPing).Y;
            _pingFisico.transform.position = new Vector3(pingX, pingY, -1);
            if (_timerPing > TiempoDePing)
            {
                TransmitirPing();
                _timerPing = 0;
            }
        }
    }