Exemple #1
0
    void OnCollisionEnter2D(Collision2D collision)
    {
        if (collision.gameObject.tag == "organism")
        {
            Cell cell   = collision.collider.GetComponentInParent <Cell>();
            int  damage = GetBluntDamage(collision);

            CellCollisionsHelper.BluntDamageCellMitigateCollision(collision, cell, damage);
        }
        if (collision.gameObject.tag == "shell")
        {
            int       damage = GetBluntDamage(collision);
            ShellFood shell  = collision.collider.GetComponent <ShellFood>();
            shell.TakeBluntDamage(damage);
        }
    }
Exemple #2
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        if (collision.gameObject.tag == "organism")
        {
            Cell cell = collision.collider.GetComponentInParent <Cell>();

            if (cell.IsAlive() && (cell is BasicCell || cell is DigestiveCell || cell is FatCell))
            {
                attributes.energy.Value += CellCollisionsHelper.AbsorbCellMitigateCollision(collision, cell);
            }

            if (cell.IsAlive() && (cell is PoisonCell))
            {
                cell.TakeDamage(100);

                CellCollisionsHelper.KillCellMitigateCollision(collision, this);
            }
        }
    }