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.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;
}
}