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); } } }
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); } } }
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); } }
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; } } } }