void KeyCollectedEventHandler(KeyCollectedEvent e) { if (e.keyType == requiredKey) { collectedKeys++; } if (collectedKeys == levelKeysCount) { EventHub.Instance.FireEvent(new ExitOpenEvent()); } }
/* * TODO: Fix removal of multiple events at the same time. * void OnDestroy() * { * EventHub.Instance.RemoveListener<KeyCollectedEvent>(OnKeyCollected); * } */ void OnKeyCollected(KeyCollectedEvent e) { if (!gameObject.activeInHierarchy) { return; } if (e.keyType == requiredKey) { collectedKeys++; } if (collectedKeys == requiredKeysCount) { onOpen?.Invoke(); gameObject.SetActive(false); } }
void OnKeyCollected(KeyCollectedEvent e) => UpdateCollectedKeys();