Ejemplo n.º 1
0
    void Update()
    {
        if (!DataCenter.CanFire || UICamera.isOverUI)
        {
            return;
        }
        // Begin dragging?
        if (Input.GetMouseButton(0) == true && down == false)
        {
            down = true;
        }

        // End dragging?
        if (Input.GetMouseButton(0) == false && down == true)
        {
            down = false;

            // Fire?
            if (Camera.main != null)
            {
                var endMousePosition = Input.mousePosition;
                var startPos         = shootPos.position;
                var endPos           = Camera.main.ScreenToWorldPoint(endMousePosition);
                var vec       = endPos - startPos;
                var angle     = D2D_Helper.Atan2(vec) * -Mathf.Rad2Deg + AngleOffset + Random.Range(-0.5f, 0.5f) * AngleRandomness;
                var clone     = D2D_Helper.CloneGameObject(Resources.Load <GameObject>("Prefabs/Bomb/Bomb" + (DataCenter.currSelectBomb + 1)), null, startPos, Quaternion.Euler(0.0f, 0.0f, angle));
                var cloneRb2D = clone.GetComponent <Rigidbody2D>();

                if (cloneRb2D != null)
                {
                    cloneRb2D.velocity = (endPos - startPos).normalized * Mathf.Min(20.0f, Vector3.Distance(endPos, startPos));
                }

                EventSystem.DispatchEvent(EType.Fire);
            }
        }

        // Show dragging?
        if (Indicator != null)
        {
            Indicator.enabled = down;

            if (Camera.main != null && down == true)
            {
                var currentMousePosition = Input.mousePosition;
                var startPos             = shootPos.position;
                var currentPos           = Camera.main.ScreenToWorldPoint(currentMousePosition);
                var scale = Vector3.Distance(currentPos, startPos);
                var angle = D2D_Helper.Atan2(currentPos - startPos) * Mathf.Rad2Deg;

                scale = Mathf.Min(20.0f, scale);

                Indicator.transform.position      = shootPos.position;
                Indicator.transform.localRotation = Quaternion.Euler(0.0f, 0.0f, -angle);
                Indicator.transform.localScale    = new Vector3(scale, scale, scale);
            }
        }
    }
Ejemplo n.º 2
0
    protected virtual void Update()
    {
        // Begin dragging?
        if (Input.GetMouseButton(0) == true && down == false)
        {
            down = true;

            startMousePosition = Input.mousePosition;
        }

        // End dragging?
        if (Input.GetMouseButton(0) == false && down == true)
        {
            down = false;

            // Fire?
            if (Camera.main != null && Bullet != null)
            {
                var endMousePosition = Input.mousePosition;
                var startPos         = Camera.main.ScreenToWorldPoint(startMousePosition);
                startPos.Scale(new Vector3(1, 1, 0));
                var endPos = Camera.main.ScreenToWorldPoint(endMousePosition);
                endPos.Scale(new Vector3(1, 1, 0));
                var vec       = endPos - startPos;
                var angle     = D2D_Helper.Atan2(vec) * -Mathf.Rad2Deg + AngleOffset + Random.Range(-0.5f, 0.5f) * AngleRandomness;
                var clone     = D2D_Helper.CloneGameObject(Bullet, null, startPos, Quaternion.Euler(0.0f, 0.0f, angle));
                var cloneRb2D = clone.GetComponent <Rigidbody2D>();

                if (cloneRb2D != null)
                {
                    cloneRb2D.velocity = (endPos - startPos) * Power;
                }
            }
        }

        // Show dragging?
        if (Indicator != null)
        {
            Indicator.enabled = down;

            if (Camera.main != null && down == true)
            {
                var currentMousePosition = Input.mousePosition;
                var startPos             = Camera.main.ScreenToWorldPoint(startMousePosition);
                var currentPos           = Camera.main.ScreenToWorldPoint(currentMousePosition);
                var scale = Vector3.Distance(currentPos, startPos);
                var angle = D2D_Helper.Atan2(currentPos - startPos) * Mathf.Rad2Deg;

                var newPos = Camera.main.ScreenToWorldPoint(startMousePosition);
                newPos.Scale(new Vector3(1, 1, 0));

                Indicator.transform.position      = newPos;
                Indicator.transform.localRotation = Quaternion.Euler(0.0f, 0.0f, -angle);
                Indicator.transform.localScale    = new Vector3(scale, scale, scale);
            }
        }
    }
    protected virtual void Update()
    {
        if (Input.GetMouseButton(0) == true && down == false && Time.timeScale == 1)
        {
            down = true;
            startMousePosition = Input.mousePosition;
        }

        mouse_pos   = Input.mousePosition;
        object_pos  = Camera.main.WorldToScreenPoint(SpawnPoint.transform.position);
        mouse_pos.x = mouse_pos.x - object_pos.x;
        mouse_pos.y = mouse_pos.y - object_pos.y;
        var angle2 = Mathf.Atan2(mouse_pos.y, mouse_pos.x) * Mathf.Rad2Deg;

        if (Input.GetMouseButton(0) == false && down == true)
        {
            down = false;
            if (angle2 < 50 && angle2 > -50)
            {
                if (Camera.main != null && Bullet != null)
                {
                    var     endMousePosition = Input.mousePosition;
                    var     startPos         = Camera.main.ScreenToWorldPoint(startMousePosition);
                    var     endPos           = Camera.main.ScreenToWorldPoint(endMousePosition);
                    var     vec            = (endPos - startPos) * Power;
                    var     angle          = D2D_Helper.Atan2(vec) * -Mathf.Rad2Deg + AngleOffset + Random.Range(-0.5f, 0.5f) * AngleRandomness;
                    Vector3 rotationVector = new Vector3(0, 0, angle2);
                    SpawnPoint.transform.rotation = Quaternion.Euler(rotationVector);
                    var clone     = D2D_Helper.CloneGameObject(Bullet, null, SpawnPoint.transform.position, Quaternion.Euler(0.0f, 0.0f, angle2));
                    var cloneRb2D = clone.GetComponent <Rigidbody2D>();

                    if (cloneRb2D != null)
                    {
                        cloneRb2D.velocity = (endPos - startPos) * Power;
                        cloneRb2D.AddForce(new Vector2(100, 50));
                    }
                }
            }
        }

        if (Indicator != null && angle2 < 50 && angle2 > -50)
        {
            Indicator.enabled = down;
            if (Camera.main != null && down == true)
            {
                var currentMousePosition = Input.mousePosition;
                var startPos             = Camera.main.ScreenToWorldPoint(SpawnPoint.transform.position);
                var currentPos           = Camera.main.ScreenToWorldPoint(currentMousePosition);
                var scale = Vector3.Distance(currentPos, startPos);
                Debug.Log(scale);
                Indicator.transform.position      = SpawnPoint.transform.position;
                Indicator.transform.localRotation = Quaternion.Euler(0.0f, 0.0f, angle2);
                Indicator.transform.localScale    = new Vector3(scale / 15, scale / 15, scale / 15);
            }
        }
    }
Ejemplo n.º 4
0
    public static void SliceAll(Vector2 startPos, Vector2 endPos, float thickness, Texture2D stampTex, float hardness, int layerMask = -1)
    {
        if (stampTex != null)
        {
            var mid   = (startPos + endPos) / 2.0f;
            var vec   = endPos - startPos;
            var size  = new Vector2(thickness, vec.magnitude);
            var angle = D2D_Helper.Atan2(vec) * -Mathf.Rad2Deg;

            StampAll(CalculateStampMatrix(mid, size, angle), stampTex, hardness, layerMask);
        }
    }
Ejemplo n.º 5
0
    protected virtual void Update()
    {
        if (Input.GetKey(Requires) == true && down == false)
        {
            down = true;
            startMousePosition = Input.mousePosition;
        }

        if (Input.GetKey(Requires) == false && down == true)
        {
            down = false;

            if (Camera.main != null)
            {
                var endMousePosition = Input.mousePosition;
                var startPos         = Camera.main.ScreenToWorldPoint(startMousePosition);
                var endPos           = Camera.main.ScreenToWorldPoint(endMousePosition);

                D2D_Destructible.SliceAll(startPos, endPos, Thickness, StampTex, Hardness);
            }
        }

        if (Indicator != null)
        {
            Indicator.enabled = down;

            if (Camera.main != null && down == true)
            {
                var currentMousePosition = Input.mousePosition;
                var startPos             = Camera.main.ScreenToWorldPoint(startMousePosition);
                var currentPos           = Camera.main.ScreenToWorldPoint(currentMousePosition);
                var scale       = Vector3.Distance(currentPos, startPos);
                var angle       = D2D_Helper.Atan2(currentPos - startPos) * Mathf.Rad2Deg;
                var newPosition = Camera.main.ScreenToWorldPoint(startMousePosition);

                newPosition.z = Indicator.transform.position.z;

                Indicator.transform.position      = newPosition;
                Indicator.transform.localRotation = Quaternion.Euler(0.0f, 0.0f, -angle);
                Indicator.transform.localScale    = new Vector3(Thickness, scale, scale);
            }
        }
    }
    protected virtual void Update()
    {
        if (GameManager.getTurno(2) == true && GameManager.isLife((int)Codigo_dragon.Dragon_3_1) && D2D_ReplaceOnCollision.disparo_curso == 1)
        {
            LetPlayer.turno = 3;
            CameraMov.turno = 3;
            mouse_pos       = Input.mousePosition;
            object_pos      = Camera.main.WorldToScreenPoint(SpawnPoint.transform.position);
            mouse_pos.x     = mouse_pos.x - object_pos.x;
            mouse_pos.y     = mouse_pos.y - object_pos.y;
            var angle2 = Mathf.Atan2(mouse_pos.y, mouse_pos.x) * Mathf.Rad2Deg;
            if (angle2 < 50 && angle2 > -50)
            {
                Vector3 rotationVector2 = new Vector3(0, 0, angle2);
                transform.rotation = Quaternion.Euler(rotationVector2);
            }

            if (Input.GetMouseButton(0) == true && down == false && Time.timeScale == 1)
            {
                down = true;
                //tartMousePosition = Input.mousePosition;
                startMousePosition = SpawnPoint.transform.position;
            }

            if (Input.GetMouseButton(0) == false && down == true)
            {
                down = false;
                if (angle2 < 50 && angle2 > -50)
                {
                    if (Camera.main != null && Bullet != null)
                    {
                        an.SetTrigger("ataque");
                        var endMousePosition = Input.mousePosition;
                        //var startPos         = Camera.main.ScreenToWorldPoint(startMousePosition);
                        var     startPos       = startMousePosition;
                        var     endPos         = Camera.main.ScreenToWorldPoint(endMousePosition);
                        var     vec            = (endPos - startPos) * Power;
                        var     angle          = D2D_Helper.Atan2(vec) * -Mathf.Rad2Deg + AngleOffset + Random.Range(-0.5f, 0.5f) * AngleRandomness;
                        Vector3 rotationVector = new Vector3(0, 0, angle2);
                        SpawnPoint.transform.rotation = Quaternion.Euler(rotationVector);
                        Vector3 xSp = SpawnPoint.transform.position;
                        xSp.x = xSp.x + 0.5f;
                        var clone     = D2D_Helper.CloneGameObject(Bullet, null, xSp, Quaternion.Euler(0.0f, 0.0f, angle2));
                        var cloneRb2D = clone.GetComponent <Rigidbody2D>();
                        turno      = false;
                        audio.clip = disparo;
                        audio.Play();
                        if (cloneRb2D != null)
                        {
                            cloneRb2D.velocity = (endPos - startPos) * Power;
                            cloneRb2D.AddForce(new Vector2(100, 50));
                        }
                        D2D_ReplaceOnCollision.lado = 1;
                    }
                }
            }

            if (Indicator != null && angle2 < 50 && angle2 > -50)
            {
                Indicator.enabled = down;
                if (Camera.main != null && down == true)
                {
                    var currentMousePosition = Input.mousePosition;
                    var startPos             = Camera.main.ScreenToWorldPoint(SpawnPoint.transform.position);
                    var currentPos           = Camera.main.ScreenToWorldPoint(currentMousePosition);
                    var scale = Vector3.Distance(currentPos, startPos);
                    Indicator.transform.position      = SpawnPoint.transform.position;
                    Indicator.transform.localRotation = Quaternion.Euler(0.0f, 0.0f, angle2);
                    if (scale / 15 > 1)
                    {
                        scale = 15;
                    }
                    Indicator.transform.localScale = new Vector3(scale / 15, scale / 15, scale / 15);
                    LetPlayer.turno = 0;
                }
            }
        }
    }