Пример #1
0
    public override void SimulateController()
    {
        IComandoMoverCartaInput input = ComandoMoverCarta.Create();

        if (moviendo)
        {
            Ray rayo = Camera.main.ScreenPointToRay(Input.mousePosition);
            if (planoMovimiento.Raycast(rayo, out distancia))
            {
                transform.position = rayo.GetPoint(distancia);
                input.click        = rayo.GetPoint(distancia); //distancia del rayo
                input.position     = transform.position + distanciaInicial;
            }
            entity.QueueInput(input);
        }

        if (tiempoTranscurrido < tiempoExtraMoviendo)
        {
            input.position = transform.position + distanciaInicial;
            entity.QueueInput(input);
        }

        if (hayQueRotar)
        {
            hayQueRotar = false;
            v3inicio    = transform.position;
            StartCoroutine(Rotandome());
        }
        if (hayQueRotarRapido)
        {
            hayQueRotarRapido = false;
            v3inicio          = transform.position;
            RotarRapido();
        }

        if (rotando)
        {
            input.position = transform.position;
            input.rotation = transform.rotation;
            entity.QueueInput(input);
        }

        if (hayQueMover)
        {
        }
        //Debug.LogFormat("moviendo es {0}, rotando es {1}, trasladando es {2}", moviendo, rotando, trasladando);
    }
Пример #2
0
    public override void ExecuteCommand(Command command, bool resetState)
    {
        ComandoMoverCarta cmd = (ComandoMoverCarta)command;

        //Debug.Log("Comando ejecutado: " + cmd);

        if (resetState)
        {
            //owner has sent a correction to the controller
            transform.position = cmd.Result.posicion;
        }
        else
        {
            if (cmd.Input.click != Vector3.zero)
            {
                transform.position = cmd.Input.position;
            }

            cmd.Result.posicion = transform.position;
        }
        transform.position = cmd.Result.posicion;
    }