Object.GetInstanceID
Declaration
public int GetInstanceID();Возвращаемое значение
инт Возвращает экземпляр ID объекта.
Описание
Получает экземпляр ID объекта.
Экземпляр ID объекта действует как указатель к экземпляру в памяти. Он всегда уникальен и никогда не имеет значения 0. Объектам, загружаемым из файла, будет присвоен положительный экземпляр ID. Вновь созданные объекты будут иметь отрицательный экземпляр ID, и сохранят это отрицательное значение, даже если объект позднее будет сохранен в файл. Поэтому знак значения InstanceID не является надежным показателем того, является ли объект постоянным.
Идентификатор меняется между сеансами работы плеера и редактора. Поэтому на него нельзя полагаться в действиях, охватывающих несколько сеансов, — например, при загрузке состояния объекта из файла.
Дополнительные ресурсы: EditorUtility.InstanceIDToObject, EditorUtility.IsPersistent
using UnityEngine;
public class ExampleScript : MonoBehaviour { // Create 10 game objects, which will have random Instance IDs void Awake() { for (int i = 0; i < 10; i++) { GameObject go = new GameObject("abc" + i.ToString("D3")); } }
// Find all the game objects and display their Instance IDs void Start() { Object[] allObjects = Object.FindObjectsOfType<GameObject>();
foreach (GameObject go in allObjects) { Debug.Log(go + " is an active object " + go.GetInstanceID()); } } }