Kojote Geschrieben 12. Februar 2020 Melden Share Geschrieben 12. Februar 2020 Hallo! Ich habe ein kleines Problem mit GetInstanceID. Ich habe auf meiner Map mehrere Tiere. Wenn ich speichere, speichere ich für jedes Tier seine GetInstanceID ab und über einen Boolean, ob dieses Tier lebendig ist oder tot. Beim Laden möchte ich nun vergleichen zwischen meinen gespeicherten Daten und den Tieren in der Scene. Ich lasse also zwei Schleifen laufen und vergleiche nach einer gefunden und einer gespeicherten GetInstanceID. Sind sie gleich, wird ausgewertet, ob das Tier nun lebendig ist oder tod, um es zu deaktivieren. Scripttechnisch sieht das so aus: GameObject[] gameObjectEnemys = GameObject.FindGameObjectsWithTag("Enemy"); for (int i = 0; i < gameObjectEnemys.Length; i++) { for (int j; i < LD_SP_Save_Data_Object_Manager.Instance.gameObjectEnemysList.Count; i++) { if (gameObjectEnemys[i].GetInstanceID == LD_SP_Save_Data_Object_Manager.Instance.gameObjectEnemys[j].id) { } } } Die ID bekommt jedes Tier in der Startmethode, nun habe ich einen Fehler in Visual Studio den ich nicht ganz nachvollziehen kann: Der ==-Operator kann nicht auf Operanden vom Typ "Methodengruppe" und "int" angewendet werden. Könnt ihr mir hier weiter helfen bzw. habt ihr für die ID ne bessere Idee? Grüße von Kojote Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 12. Februar 2020 Melden Share Geschrieben 12. Februar 2020 Wenn du irgendwo was von "Methodengruppe" stehen hast, dann heißt das in 98% der Fälle, dass du eine Methode hingeschrieben hast, aber nicht aufrufst. Statt GetInstanceID einfach GetInstanceID() vor 3 Minuten schrieb Kojote: bzw. habt ihr für die ID ne bessere Idee? Ja, GetInstanceID ist für so ungefähr alles, was man als Benutzer so machen kann, völlig nutzlos. Wenn du die Szene neu lädst, kriegen alle Objekte eine neue Instance ID - sie ist nicht persistent. Wenn du Dinge in Savegames identifizieren willst, musst du dich selber um eine ID kümmern. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kojote Geschrieben 12. Februar 2020 Autor Melden Share Geschrieben 12. Februar 2020 Ja, GetInstanceID ist für so ungefähr alles, was man als Benutzer so machen kann, völlig nutzlos. Wenn du die Szene neu lädst, kriegen alle Objekte eine neue Instance ID - sie ist nicht persistent. Wenn du Dinge in Savegames identifizieren willst, musst du dich selber um eine ID kümmern. Na klasse! xD Dann ist GetInstanceID ja mal total nützlich für ... ja eigentlich nicht .... 😪 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.