void Start() { if (reference != null) { reference.InstantiateAsync(this.transform); } }
public void InstantiateFromAssetRef() { if (assetRef != null) { assetRef.InstantiateAsync(Vector3.right * 6.0f, Quaternion.identity); } }
public async static Task CreatePool(AssetReferenceGameObject reference, PoolingData poolingData) { if (ContainsReference(reference)) { return; } var pool = new Pool(); pool.assetReference = reference; var operationHandle = reference.LoadAssetAsync(); operationHandle.Completed += (op) => pool.loadedAsset = op.Result; int spawnCount = poolingData.GetSpawnCountFor(reference); #if UNITY_EDITOR var parent = new GameObject($"{reference.editorAsset.name} - Pool").transform; #endif for (int i = 0; i < spawnCount; i++) { var opHandle = reference.InstantiateAsync(Vector3.zero, Quaternion.identity); var instantiatedObject = await opHandle.Task; #if UNITY_EDITOR instantiatedObject.name = $"{reference.editorAsset.name} - {Guid.NewGuid()}"; #endif pool.ObjectList.Add(instantiatedObject); #if UNITY_EDITOR instantiatedObject.transform.SetParent(parent); #endif instantiatedObject.SetActive(false); } pools[reference.RuntimeKey] = pool; }
internal AssetReferenceGameObjectTracker(AssetReferenceGameObject _reference, AssetReferenceGameObjectTrackerCallbackDelegate _callback, Transform _parent) { handle = _reference.InstantiateAsync(_parent); loadingTrackers.Add(handle, new Pair(this, _callback)); handle.Completed += OnCompleted; }
public static GameObject Instantiate(AssetReferenceGameObject reference, Transform parent = null, bool instantiateInWorldSpace = false) { #if UNITY_OBJECTPOOLING_ADDRESSABLES_MANAGER var obj = AddressablesManager.InstantiateSync(reference, parent, instantiateInWorldSpace); #else var handle = reference.InstantiateAsync(parent, instantiateInWorldSpace); var obj = handle.WaitForCompletion(); #endif return(obj); }
public static void GetScreen(string name, System.Action <GameObject> onComplete) { AssetReferenceGameObject a = null; UIScreenReference[] s = instance.uiScreens.screens; for (int i = 0; i < s.Length; i++) { if (s[i].name == name) { a = s[i].asset; break; } } a.InstantiateAsync(instance.transform).Completed += (asyncOperationHandle) => { GameObject screen = asyncOperationHandle.Result; Canvas canvas = screen.GetComponent <Canvas>(); canvas.renderMode = RenderMode.ScreenSpaceCamera; canvas.worldCamera = instance.uiCam; onComplete?.Invoke(asyncOperationHandle.Result); }; }
void Start() { refObject.InstantiateAsync(Vector3.zero, Quaternion.identity, null).Completed += OnAssetInstantiated; }