public void respawn(int id, float velocidade) { Projetil p = poolProjetils.Dequeue(); p.transform.position = arraySpawns[id].position; p.SpeedP = velocidade; }
public void ProjetilCollision(RaycastHit2D hit, ArrowMoviment arrow) { Projetil _proj = hit.collider.GetComponent <Projetil>(); if (!hitedProjetils.Contains(_proj)) { hitedProjetils.Add(_proj); if (_proj.destrutivel) { FindObjectOfType <AudioManager>().Play("brustArrow"); if (ArrowDamage) { Instantiate(ArrowDamage, _proj.transform.position, Quaternion.identity); } } if (_proj.solido) { arrow.transform.SetParent(_proj.transform); communAction(arrow); } else { if (_proj.colideFlecha) { communAction(arrow); Destroy(gameObject, 0.5f); } } } }
public void addtopool(Projetil p) { if (poolProjetils.Count < poolMax) { p.transform.position = Vector3.up * 8000; poolProjetils.Enqueue(p); print("movido pra queue"); } else { Destroy(p.gameObject); print("destruido"); } }
void spawnProjetil(int id, float velocidade) { if (poolProjetils.Count > 0) { //print("respawn pool"); respawn(id, velocidade); } else { print("cria novo"); Projetil p = Instantiate(projPrefab, arraySpawns[id].position, Quaternion.identity).GetComponent <Projetil>(); p.SpeedP = velocidade; } }
private void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.tag == "DisparoSimples") { Projetil projetil = collision.gameObject.GetComponent <Projetil>(); vidaInimigo -= projetil.GetDano(); Destroy(collision.gameObject); if (vidaInimigo <= 0) { Destroy(this.gameObject); } } }
public void ProjetilCollision(RaycastHit2D hit, ArrowMoviment arrow) { Projetil _proj = hit.collider.GetComponent <Projetil>(); if (!hitedProjetils.Contains(_proj)) { hitedProjetils.Add(_proj); if (_proj.destrutivel) { FindObjectOfType <AudioManager>().Play("piercingArrow"); if (ArrowDamage) { Instantiate(ArrowDamage, _proj.transform.position, Quaternion.identity); } } _proj.damage(damage); } }
public void atirar() { int n = Mathf.RoundToInt(tempoCarregando) * projeteisPorSegundo; if (n == 0) { n = 1; } for (int i = 0; i < n; i++) { var rand = Random.insideUnitCircle * 1f; Projetil proj = (Projetil)Instantiate(projetil, cajado.position + (Vector3)rand, Quaternion.Euler(0, 0, 90)); if (this.transform.eulerAngles.y == 0) { proj.ladoDireito = false; } else { proj.ladoDireito = true; } } tempoCarregando = 0f; }
// Update is called once per frame void FixedUpdate() { if (Input.GetKey("d")) { animator.SetBool("Run", true); direcao = "direita"; Vector3 v3 = sprite.transform.localScale; v3.x = 1; sprite.transform.localScale = v3; Vector2 v2 = rb.velocity; rb.velocity = new Vector2(2.0f, v2.y); } else if (Input.GetKey("a")) { animator.SetBool("Run", true); direcao = "esquerda"; Vector3 v3 = sprite.transform.localScale; v3.x = -1; sprite.transform.localScale = v3; Vector2 v2 = rb.velocity; rb.velocity = new Vector2(-2.0f, v2.y); } else { animator.SetBool("Run", false); } if (Input.GetKeyDown("w")) { if (onGround) { animator.SetTrigger("Jump"); Vector2 v2 = rb.velocity; rb.velocity = new Vector2(v2.x, 3.0f); onGround = false; } } if (Input.GetKeyDown("space")) { if (Input.GetKey("a") || Input.GetKey("d")) { animator.SetTrigger("Fire_Run"); } else { animator.SetTrigger("Fire_Idle"); } Vector2 newv2; GameObject prefab = Resources.Load("Prefab/Tiro", typeof(GameObject)) as GameObject; GameObject instance = Instantiate(prefab); // prefab.direcao = direcao; // Object prefab = AssetDatabase.LoadAssetAtPath("Assets/Prefab/tiro.prefab", typeof(GameObject)); // GameObject clone = Instantiate(prefab, new Vector3(2.0F, 0, 0), Quaternion.identity) as GameObject; Projetil prj = prefab.GetComponent <Projetil>(); prj.direcao = direcao; newv2 = gameObject.transform.position; newv2.x = newv2.x + 1.0f; newv2.y = newv2.y + 1.1f; instance.transform.position = newv2; // Debug.Log("Player Position: "+ gameObject.transform.position); // Debug.Log("Projetil Position: "+ instance.transform.position); } }