title: Which one is better ? event or straight reference?
body: <p>Hi just want to ask which one is better and why ? (or maybe there's even better solution please I need advice)</p>
  
  <pre><code>public class Player
  {
      GameController _gameController;
      public Player
      {
          _gameController.OnPlayerGetHit += GetHit;
      }
  
      private void GetHit(float damage){}
  }
  
  public class GameController
  {
      public delegate void PlayerHitCallback();
      public event PlayerHitCallback OnPlayerGetHit;
  
      public OnCollisionHit()
      {
          OnPlayerGetHit?.Invoke();
      }
  }
  </code></pre>
  
  <p>or </p>
  
  <pre><code>public class Player
  {
      public void GetHit(float damage){}
  }
  
  public class GameController
  {
      Player _player;
  
      public OnCollisionHit()
      {
          _player.GetHit(damage);
      }
  }
  </code></pre>
  
  <p>I want to ask wether Top solution is better or worse than the later (or maybe both of them is no good) please help I need some advice.
  Thanks in advance !</p>