Item Namen sind nicht mehr case sensitive

This commit is contained in:
Maximilian Wagner 2023-06-19 10:42:56 +02:00
parent 14f8ab3f4c
commit f9b6638643

View File

@ -1,11 +1,11 @@
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using UnityEngine; using UnityEngine;
/** /**
* Einfaches Inventory Script v1.1 * Einfaches Inventory Script v1.1
* Ein Item muss den Tag 'Item' haben um aufgehoben zu werden * 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' * Türen welche mit Schlüssel geöffnet werden sollen brauchen den Tag 'Openable'
*/ */
@ -35,13 +35,26 @@ public class InventoryBasic : MonoBehaviour
break; break;
case "Openable": case "Openable":
// Entfernt den ersten "Key" welcher unter den Items gefunden wird, falls es einen gibt if (removeFirstOccurence("KEY"))
if ( items.Remove((from item in items where item.name.Contains("Key") select item).First()) ) {
{ // falls ein "Key" gefunden wurde, wird dieser genutzt
other.gameObject.SetActive(false); other.gameObject.SetActive(false);
Debug.Log("Pickup: Use Key"); Debug.Log("Pickup: Use Key");
} }
break; 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;
}
} }