public void TileOnMoveInto(PhysicsMove move) { // TODO: use PlayerCollider or move.movement.controller PlayerUnitController unit = move.hit.rigidbody.GetComponent <PlayerUnitController>(); if (!unit) { return; } if (unit.di.vulnerability.IsVulnerable()) { float randomSign = RandomHelpers.OneOrMinusOne(); Vector2 randomPushForce = TileHelpers.TileToWorld(new Vector2(randomSign * pushTileForce.x, pushTileForce.y)); unit.di.damage.TakeFullDamage(randomPushForce); } }