Пример #1
0
    public void cambiaColorJug(colorBool col, GameObject cas, controlCasilla cont, int numCas)
    {
        Material       matTemp     = colBoolToMat(col);
        controlCasilla controlTemp = matToControl(matTemp);

        cont.quitar(numCas);
        controlTemp.agregar(cas);
        cas.renderer.material = matTemp;
        scriptCasilla casilla = cas.GetComponent <scriptCasilla>();

        casilla.control = controlTemp;
    }
Пример #2
0
    public void Update()
    {
        if (moving)
        {
            transform.position = Vector3.Lerp(transform.position, targetPosition, movementSpeed * Time.smoothDeltaTime);
            if (Mathf.Abs(transform.position.z - targetPosition.z) < 0.05f && Mathf.Abs(transform.position.x - targetPosition.x) < 0.05f)
            {
                transform.position = targetPosition;
                moving             = false;
                //Debug.Log("Final :"+Time.time);
            }
        }
        else
        {
            if (Input.anyKey)
            {
                if (Time.time > lastPressTime + delayMovimiento)
                {
                    x                   = transform.position.x;
                    z                   = transform.position.z;
                    casillaActual       = Utilidades.dameCasilla(x, z);
                    casillaActualScript = casillaActual.GetComponent <scriptCasilla>();
                    // Movimiento
                    if ((Input.GetAxisRaw("Vertical") != 0) && !(animation.IsPlaying("subir") || animation.IsPlaying("bajar")))
                    {
                        lastPressTime = Time.time;
                        if (Utilidades.hayCasilla(x, z + Input.GetAxisRaw("Vertical")))
                        {
                            animation.PlayQueued("bajar");
                            //transform.Translate(Vector3.forward*Input.GetAxisRaw("Vertical"),Space.World);
                            targetPosition = transform.position + Vector3.forward * Input.GetAxisRaw("Vertical");
                            //Debug.Log("Inicio :"+Time.time);
                            moving = true;
                            animation.PlayQueued("subir");
                        }
                    }
                    if ((Input.GetAxisRaw("Horizontal") != 0) && !(animation.IsPlaying("subir") || animation.IsPlaying("bajar")))
                    {
                        lastPressTime = Time.time;
                        if (Utilidades.hayCasilla(x + Input.GetAxisRaw("Horizontal"), z))
                        {
                            animation.PlayQueued("bajar");
                            //transform.Translate(Vector3.right*Input.GetAxisRaw("Horizontal"),Space.World);
                            targetPosition = transform.position + Vector3.right * Input.GetAxisRaw("Horizontal");
                            moving         = true;
                            animation.PlayQueued("subir");
                        }
                    }
                }
            }
            if (Time.time > lastPressTime + delayAbsorber)
            {
                //Acciones casilla
                if (Input.GetButton("Fire1"))
                {
                    lastPressTime = Time.time;
                    if (casillaActualScript.quitarRojo())
                    {
                        absorberBits.particleSystem.renderer.material.SetColor("_Emission", Color.red);
                        animation.PlayQueued("absorber");
                    }
                    colorBool color = casillaActualScript.color;
                    logicaControl.cambiaColorJug(color, casillaActual, casillaActualScript.control, casillaActualScript.ordenControl);
                }
                else if (Input.GetButton("Fire2"))                       // && !(animation.IsPlaying("subir")))
                {
                    lastPressTime = Time.time;
                    if (casillaActualScript.quitarVerde())
                    {
                        absorberBits.particleSystem.renderer.material.SetColor("_Emission", Color.yellow);
                        animation.PlayQueued("absorber");
                    }
                    colorBool color = casillaActualScript.color;
                    logicaControl.cambiaColorJug(color, casillaActual, casillaActualScript.control, casillaActualScript.ordenControl);
                }
                else if (Input.GetButton("Fire3"))                       // && !(animation.IsPlaying("subir")))
                {
                    lastPressTime = Time.time;
                    if (casillaActualScript.quitarAzul())
                    {
                        animation.PlayQueued("absorber");
                        absorberBits.particleSystem.renderer.material.SetColor("_Emission", new Color(0.0f, 0.2f, 1.0f, 1.0f));
                    }
                    colorBool color = casillaActualScript.color;
                    logicaControl.cambiaColorJug(color, casillaActual, casillaActualScript.control, casillaActualScript.ordenControl);
                }
            }
        }

        //Zoom
        if ((Input.GetAxis("Mouse ScrollWheel") > 0) && (Camera.main.fieldOfView > 30))
        {
            Camera.main.fieldOfView -= 3;
        }
        if ((Input.GetAxis("Mouse ScrollWheel") < 0) && (Camera.main.fieldOfView < 90))
        {
            Camera.main.fieldOfView += 3;
        }
    }