diff --git a/Assets/AssetsFORELLE/Script/InventoryBasic.cs b/Assets/AssetsFORELLE/Script/InventoryBasic.cs index 0db92be..d83c2cf 100644 --- a/Assets/AssetsFORELLE/Script/InventoryBasic.cs +++ b/Assets/AssetsFORELLE/Script/InventoryBasic.cs @@ -1,11 +1,11 @@ +using System; using System.Collections.Generic; -using System.Linq; using UnityEngine; /** * Einfaches Inventory Script v1.1 * Ein Item muss den Tag 'Item' haben um aufgehoben zu werden - * Schlüssel müssen 'Key' im Namen haben + * Schlüssel müssen 'key' irgendwo im Namen haben (case insensitive) * Türen welche mit Schlüssel geöffnet werden sollen brauchen den Tag 'Openable' */ @@ -35,13 +35,26 @@ public class InventoryBasic : MonoBehaviour break; case "Openable": - // Entfernt den ersten "Key" welcher unter den Items gefunden wird, falls es einen gibt - if ( items.Remove((from item in items where item.name.Contains("Key") select item).First()) ) - { // falls ein "Key" gefunden wurde, wird dieser genutzt + if (removeFirstOccurence("KEY")) + { other.gameObject.SetActive(false); Debug.Log("Pickup: Use Key"); } break; } } + + bool removeFirstOccurence(String seq) + { + foreach (var x in items) + { + if (x.name.IndexOf(seq, StringComparison.OrdinalIgnoreCase) > -1) + { + items.Remove(x); + return true; + } + } + + return false; + } }