private void OnTriggerStay2D(Collider2D ou) { Quimica qui = ou.GetComponent <Quimica>(); if (qui != null) { float dis = (ou.transform.position - transform.position).magnitude; float troca = (dis <= 0.1f)? 0.1f : (material.condTermica + qui.material.condTermica) / (2 * (dis)); if (qui.calor > calor) { calor += troca; qui.calor -= troca; } else { calor -= troca; qui.calor += troca; } if (material.liquido && qui.material.molhabil) { qui.humidade += 0.001f * (1 - material.massaCombustivel); qui.combustivel += 0.001f * material.massaCombustivel; transform.localScale -= Vector3.one * 0.001f; } // Eletricidade if (qui.tensaoEle) { frameEle = true; } } }
public void Ice_Block(Vector2 pos, Vector2 dir, float tempo, float dano) { RaycastHit2D r = Physics2D.Raycast(pos, dir); if (r.transform != null) { Quimica qui = r.transform.GetComponent <Quimica>(); if (qui != null) { qui.humidade = 1; } Inimigo i = r.transform.gameObject.GetComponent <Inimigo>(); if (i != null) { Rigidbody2D b = r.transform.gameObject.GetComponent <Rigidbody2D>(); b.constraints = RigidbodyConstraints2D.FreezeAll; b.velocity = Vector2.zero; b.angularVelocity = 0; Instantiate(Gelo, r.transform); i.descongelar(tempo); i.vida -= dano;//Causar Dano } } }
protected void StartCode() { rb = GetComponent <Rigidbody2D>(); qui = GetComponent <Quimica>(); spr = GetComponent <SpriteRenderer>(); original = spr.color; }
public void Chain_Lightning(Vector2 pos, Vector2 dir, float tempo, float dano) { RaycastHit2D r = Physics2D.Raycast(pos, dir); //Debug.Log(r.transform.name); if (r.transform != null) { Quimica qui = r.transform.GetComponent <Quimica>(); if (qui != null) { qui.fonteTensao = true; qui.deseltrizar(tempo); } Inimigo i = r.transform.gameObject.GetComponent <Inimigo>(); if (i != null) { i.vida -= dano; } } }