public async void AddPrefab(AssetBankItemData data) { GunPrefabItem gunItem = GunPrefabItem.Create(data); gunItem.AddListener(OnDeletePrefab); UIDynamicListItem dlItem = prefabList.AddItem(gunItem.transform); dlItem.UseColliderForUI = false; // dont use the default global collider, sub-widget will catch UI events and propagate them. gunItem.transform.localScale = Vector3.one; // Items are hidden (scale 0) while they are not added into a list, so activate the item here. gunItem.SetListItem(dlItem); // link i await AssetBankUtils.LoadPrefab(selectedItem); prefabs.Add(data.prefab); }
public async Task OnGrabUIObject() { await AssetBankUtils.LoadPrefab(selectedItem); if (AssetBankUtils.TryGetItem(selectedItem, out AssetBankItemData item)) { if (item.skipInstantiation) { // Assets coming from Blender Asset Bank add-on // We will receive them, no need to instantiate them item.prefab = null; } if (null != item.prefab) { GameObject instance = SceneManager.InstantiateObject(item.prefab); AddObject(instance); } } selectedItem = -1; }