KeyPickup.cs 708 B

123456789101112131415161718192021222324252627282930313233343536
  1. using UnityEngine;
  2. namespace DunGen.Demo
  3. {
  4. public class KeyPickup : MonoBehaviour, IKeyLock
  5. {
  6. public Key Key { get { return keyManager.GetKeyByID(keyID); } }
  7. [HideInInspector]
  8. [SerializeField]
  9. private int keyID;
  10. [HideInInspector]
  11. [SerializeField]
  12. private KeyManager keyManager;
  13. public void OnKeyAssigned(Key key, KeyManager keyManager)
  14. {
  15. keyID = key.ID;
  16. this.keyManager = keyManager;
  17. }
  18. private void OnTriggerEnter(Collider c)
  19. {
  20. var inventory = c.GetComponent<PlayerInventory>();
  21. if (inventory == null)
  22. return;
  23. ScreenText.Log("Picked up {0} key", Key.Name);
  24. inventory.AddKey(keyID);
  25. Destroy(gameObject);
  26. }
  27. }
  28. }