Exemplo n.º 1
0
    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
            }
        }
    }
Exemplo n.º 3
0
 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;
            }
        }
    }