//użyj tej funkcji gdy aktywny przedmiot jest pierwszy raz tworzony, np. przez generator public GameObject CreateAvtiveObject(string prefabName, Vector3 newPosition) { GameObject createdGO = InternalSpawn(prefabName, newPosition); ActiveObject createdAO = createdGO.GetComponent <ActiveObject>(); if (createdAO == null) { Debug.LogError(prefabName + "nie posiada komponentu AktywnyObiekt"); } else { createdAO.UniqueID = GetNextUniqueID(); AOInfo aoi = new AOInfo { UniqueID = createdAO.UniqueID, PrefabName = prefabName, LastPosX = 0, LastPosY = 0, LastPosZ = 0, CreatedObject = createdGO }; _activeObjects.Add(createdAO.UniqueID, aoi); createdGO.SetActive(true); return(createdGO); } return(null); }
private void ShowActiveObject(AOInfo aoi) { Vector3 newPosition = new Vector3(aoi.LastPosX, aoi.LastPosY, aoi.LastPosZ); if (aoi.PrefabName == null || aoi.PrefabName == "") { Debug.LogError("aoi.prefabName is null"); } else { GameObject createdObject = InternalSpawn(aoi.PrefabName, newPosition); ActiveObject ao = createdObject.GetComponent <ActiveObject>(); if (ao == null) { Debug.LogError(aoi.PrefabName + " nie posiada AktywnyObiekt"); } else { ao.UniqueID = aoi.UniqueID; aoi.CreatedObject = createdObject; } } }