public void SetPlayerListeners() { // pick up collectable player.OnPickupCollectable += (Collectable collectable) => { collectables.Add(collectable); hud.AddCollectable(collectable); Destroy(collectable.gameObject); }; // end moving player.OnMoveEnded += () => { moves += 1; hud.UpdateMoves(moves); if (maxItems > 0) { int itemCount = GetCollected(typeof(Item)); if (itemCount == maxItems) { StartCoroutine(GameWin()); } } }; }