Example #1
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        GameObject objTrigger = other.gameObject;

        if (objTrigger.CompareTag(tagMobs))
        {
            IMob mobs = objTrigger.GetComponent <IMob>();
            mobs.SetDamage(damage);
            mobs.Jerk(_velocity, powerGarbage);
            mobs.SetFreeze(0.5f);
            mobs.NoCollision(1.5f);
            Destroy(gameObject);
        }

        if (objTrigger.CompareTag(tagFloor))
        {
            Destroy(gameObject);
        }
    }
Example #2
0
    private IEnumerator AcyncDamage()
    {
        permission = false;
        Debug.Log(furnitures.Count);
        if (furnitures.Count > 0)
        {
            foreach (var furniture in furnitures)
            {
                Vector3    vectorFurniture    = furniture.transform.position;
                Vector3    thisVector         = transform.position;
                var        forward            = vectorFurniture - thisVector;
                float      distance           = Vector2.Distance(vectorFurniture, thisVector);
                IFurniture furnitureComponent = furniture.GetComponent <IFurniture>();
                furnitureComponent.Jerk(forward.normalized, powerGarbageFurniture - (distance * weakeningGarbageFurniture));
            }
        }

        if (mobs.Count > 0)
        {
            foreach (var mob in mobs)
            {
                Vector3 vectorFurniture = mob.transform.position;
                Vector3 thisVector      = transform.position;
                var     forward         = vectorFurniture - thisVector;
                float   distance        = Vector2.Distance(vectorFurniture, thisVector);
                IMob    mobComponent    = mob.GetComponent <IMob>();
                mobComponent.SetFreeze(1.5f);
                mobComponent.NoCollision(1.5f);
                mobComponent.SetDamage(damage);
                mobComponent.Jerk(forward.normalized, powerGarbage - (distance * weakeningGarbage));
            }
        }
        yield return(new WaitForSeconds(0f));

        readyDestroy = true;
    }