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); } }
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); } } }