void SetAssetPackInListView(SceneAssetPack sceneAssetPack) { catalogTitleTxt.text = sceneAssetPack.title; Dictionary <string, List <SceneObject> > groupedSceneObjects = new Dictionary <string, List <SceneObject> >(); foreach (SceneObject sceneObject in sceneAssetPack.assets) { string titleToUse = sceneObject.category; if (!isFilterByAssetPacks) { titleToUse = sceneObject.titleToShow; } if (!groupedSceneObjects.ContainsKey(titleToUse)) { groupedSceneObjects.Add(titleToUse, GetAssetsListByCategory(titleToUse, sceneAssetPack, isFilterByAssetPacks)); } } List <Dictionary <string, List <SceneObject> > > contentList = new List <Dictionary <string, List <SceneObject> > > { groupedSceneObjects }; catalogGroupListView.SetContent(contentList); }
SceneAssetPack GetCollectiblesAssetPack() { SceneAssetPack sceneAssetPack = new SceneAssetPack(); sceneAssetPack.id = BuilderInWorldSettings.ASSETS_COLLECTIBLES; sceneAssetPack.title = BuilderInWorldSettings.ASSETS_COLLECTIBLES; sceneAssetPack.assets = BuilderInWorldNFTController.i.GetNFTsAsSceneObjects(); return(sceneAssetPack); }
public void AddSceneAssetPackToCatalog(JObject payload) { if (VERBOSE) { Debug.Log("add sceneAssetPack: " + payload); } SceneAssetPack sceneAssetPack = JsonConvert.DeserializeObject <SceneAssetPack>(payload.ToString()); AddSceneAssetPackToCatalog(sceneAssetPack); }
public static void AddSceneAssetPack(SceneAssetPack sceneAssetPack) { if (DataStore.i.builderInWorld.catalogItemPackDict.ContainsKey(sceneAssetPack.id)) { return; } CatalogItemPack catalogItemPack = CreateCatalogItemPack(sceneAssetPack); DataStore.i.builderInWorld.catalogItemPackDict.Add(catalogItemPack.id, catalogItemPack); }
public void AddSceneAssetPackToCatalog(SceneAssetPack sceneAssetPack) { if (sceneAssetPackCatalog.ContainsKey(sceneAssetPack.id)) { return; } foreach (SceneObject sceneObject in sceneAssetPack.assets) { AddSceneObjectToCatalog(sceneObject); } sceneAssetPackCatalog.Add(sceneAssetPack.id, sceneAssetPack); OnSceneAssetPackAdded?.Invoke(sceneAssetPack); }
public static void AddSceneAssetPack(SceneAssetPack sceneAssetPack) { if (DataStore.i.builderInWorld.catalogItemPackDict.ContainsKey(sceneAssetPack.id)) { return; } CatalogItemPack catalogItemPack = CreateCatalogItemPack(sceneAssetPack); //TODO: SmartItems disabled until kernel has them implemented if (catalogItemPack.assets.Count != 0) { DataStore.i.builderInWorld.catalogItemPackDict.Add(catalogItemPack.id, catalogItemPack); } }
List <SceneObject> GetAssetsListByCategory(string category, SceneAssetPack sceneAssetPack, bool useCategory) { List <SceneObject> sceneObjectsList = new List <SceneObject>(); foreach (SceneObject sceneObject in sceneAssetPack.assets) { if ((category == sceneObject.category && useCategory) || (category == sceneObject.titleToShow && !useCategory)) { sceneObjectsList.Add(sceneObject); } } return(sceneObjectsList); }
public void SetContent(SceneAssetPack sceneAssetPack) { this.sceneAssetPack = sceneAssetPack; titleTxt.text = this.sceneAssetPack.title; if (sceneAssetPack.id != BuilderInWorldSettings.ASSETS_COLLECTIBLES) { GetThumbnail(); } else { packImg.enabled = true; packImg.texture = collectiblesSprite; } }
public void CustomContentProvider() { string entityId = "1"; TestHelpers.CreateSceneEntity(scene, entityId); string mockupAssetId = "cdd5a4ea94388dd21babdecd26dd560f739dce2fbb8c99cc10a45bb8306b6076"; string mockupKey = "key"; string mockupValue = "Value"; SceneAssetPack sceneAssetPack = new SceneAssetPack(); sceneAssetPack.assets = new System.Collections.Generic.List <SceneObject>(); sceneAssetPack.id = "mockupId"; SceneObject sceneObject = new SceneObject(); sceneObject.id = mockupAssetId; sceneObject.contents = new System.Collections.Generic.Dictionary <string, string>(); sceneObject.contents.Add(mockupKey, mockupValue); sceneAssetPack.assets.Add(sceneObject); AssetCatalogBridge.AddSceneAssetPackToCatalog(sceneAssetPack); TestHelpers.CreateAndSetShape(scene, entityId, DCL.Models.CLASS_ID.GLTF_SHAPE, JsonConvert.SerializeObject( new { assetId = mockupAssetId, src = Utils.GetTestsAssetsPath() + "/GLB/Lantern/Lantern.glb" })); LoadWrapper gltfShape = GLTFShape.GetLoaderForEntity(scene.entities[entityId]); if (!(gltfShape is LoadWrapper_GLTF)) { Assert.Fail(); } LoadWrapper_GLTF gltfWrapper = (LoadWrapper_GLTF)gltfShape; ContentProvider customContentProvider = AssetCatalogBridge.GetContentProviderForAssetIdInSceneObjectCatalog(mockupAssetId); Assert.AreEqual(customContentProvider.baseUrl, gltfWrapper.customContentProvider.baseUrl); Assert.AreEqual(mockupKey, gltfWrapper.customContentProvider.contents[0].file); Assert.AreEqual(mockupValue, gltfWrapper.customContentProvider.contents[0].hash); }
void FilterCategories() { categoryList = new List <SceneAssetPack>(); var assetPacks = AssetCatalogBridge.sceneAssetPackCatalog.GetValues().ToList(); Dictionary <string, SceneAssetPack> assetPackDic = new Dictionary <string, SceneAssetPack>(); foreach (SceneAssetPack assetPack in assetPacks) { foreach (SceneObject sceneObject in assetPack.assets) { if (!assetPackDic.ContainsKey(sceneObject.category)) { SceneAssetPack categoryAssetPack = new SceneAssetPack(); categoryAssetPack.thumbnail = sceneObject.category; categoryAssetPack.title = sceneObject.category; categoryAssetPack.assets = new List <SceneObject>(); sceneObject.titleToShow = assetPack.title; categoryAssetPack.assets.Add(sceneObject); if (!string.IsNullOrEmpty(categoryAssetPack.title)) { if (categoryAssetPack.title.Length == 1) { categoryAssetPack.title = categoryAssetPack.title.ToUpper(); } else { categoryAssetPack.title = char.ToUpper(categoryAssetPack.title[0]) + categoryAssetPack.title.Substring(1); } } assetPackDic.Add(sceneObject.category, categoryAssetPack); continue; } else { sceneObject.titleToShow = assetPack.title; assetPackDic[sceneObject.category].assets.Add(sceneObject); } } } categoryList = assetPackDic.Values.ToList(); }
public static CatalogItemPack CreateCatalogItemPack(SceneAssetPack sceneAssetPack) { CatalogItemPack catalogItemPack = new CatalogItemPack(); catalogItemPack.id = sceneAssetPack.id; catalogItemPack.title = sceneAssetPack.title; catalogItemPack.assets = new List <CatalogItem>(); catalogItemPack.SetThumbnailULR(sceneAssetPack.ComposeThumbnailUrl()); foreach (SceneObject sceneObject in sceneAssetPack.assets) { catalogItemPack.assets.Add(CreateCatalogItem(sceneObject)); } return(catalogItemPack); }
public static CatalogItemPack CreateCatalogItemPack(SceneAssetPack sceneAssetPack) { CatalogItemPack catalogItemPack = new CatalogItemPack(); catalogItemPack.id = sceneAssetPack.id; catalogItemPack.title = sceneAssetPack.title; catalogItemPack.assets = new List <CatalogItem>(); catalogItemPack.SetThumbnailULR(sceneAssetPack.ComposeThumbnailUrl()); foreach (SceneObject sceneObject in sceneAssetPack.assets) { //TODO: SmartItems disabled until kernel has them implemented if (!sceneObject.IsSmartItem()) { catalogItemPack.assets.Add(CreateCatalogItem(sceneObject)); } } return(catalogItemPack); }
void OnScenePackSelected(SceneAssetPack sceneAssetPack) { ShowCatalogContent(); SetAssetPackInListView(sceneAssetPack); }
public static void AddSceneAssetPackToCatalog(SceneAssetPack sceneAssetPack) { sceneAssetPackCatalog.Add(sceneAssetPack.id, sceneAssetPack); }