Item Namen sind nicht mehr case sensitive
This commit is contained in:
parent
14f8ab3f4c
commit
f9b6638643
@ -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;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user