Exemplo n.º 1
0
    public void ObjectParse(object parse)
    {
        CatalogueItem_Tile item = parse as CatalogueItem_Tile;

        this.tile  = item;
        lable.text = item._FriendlyName;
        assetID    = item._ItemID;
        favourite  = item.favourite;
        if (!string.IsNullOrEmpty(Application.persistentDataPath + item._TextureColourPath))
        {
            WWW www = new WWW("file:///" + Application.persistentDataPath + item._TextureColourPath);
            thumbnail.texture = www.texture;
        }
    }
Exemplo n.º 2
0
 public void ObjectParse(CatalogueItem_Tile tileParse, CatalogueItemThumnail_Tile thumbnail)
 {
     this.itemTile = tileParse;
     if (itemTile._ItemID != 0)
     {
         //Existing Asset
         itemThumbnail          = thumbnail;
         assetFriendlyName.text = itemTile._FriendlyName;
         tagsInputField.text    = string.Join("#", itemTile.tags);
         categoryDropDown.value = itemTile.itemTypeCategory;
         favouritesToggle.isOn  = itemTile.favourite;
         foreach (Button button in disableButtons)
         {
             button.interactable = false;
         }
         if (!string.IsNullOrEmpty(itemTile._TextureColourPath))
         {
             LoadTextureColour(Application.persistentDataPath + itemTile._TextureColourPath);
         }
         if (!string.IsNullOrEmpty(itemTile._TextureNormalPath))
         {
             LoadTextureNormal(Application.persistentDataPath + itemTile._TextureNormalPath);
         }
         if (!string.IsNullOrEmpty(itemTile._TextureDisplacementPath))
         {
             LoadTextureDisplacement(Application.persistentDataPath + itemTile._TextureDisplacementPath);
         }
         if (!string.IsNullOrEmpty(itemTile._TextureSpecularPath))
         {
             LoadTextureSpecular(Application.persistentDataPath + itemTile._TextureSpecularPath);
         }
         if (!string.IsNullOrEmpty(itemTile._TextureOcclusionPath))
         {
             LoadTextureOcclusion(Application.persistentDataPath + itemTile._TextureOcclusionPath);
         }
         texLoadViewGameObject.SetActive(false);
     }
 }
Exemplo n.º 3
0
    public async void SaveAssetAsync()
    {
        if (string.IsNullOrEmpty(assetFriendlyName.text))
        {
            MessageBox.Show("Error", "Asset Name Is Missing", () => { });
            return;
        }

        this.GetComponent <Button>().interactable = false;
        LoadingPanelUI loadingPanelUI = GetComponentInChildren <LoadingPanelUI>(true);

        loadingPanelUI.gameObject.SetActive(true);
        loadingPanelUI.ChangeText("Please Wait", "Assets Uploading");

        const string _ItemFileName       = "CatalogueItem.asscat";
        const string _ThumnailPrefabName = "AssetThumnail_Tile";

        if (itemTile._ItemID == 0)
        {
            itemTile = new CatalogueItem_Tile
            {
                _FriendlyName    = assetFriendlyName.text,
                _ItemID          = itemTile._ItemID,
                _ModifiedDate    = DateTime.Now.ToString(),
                tags             = tagsInputField.text.Split('#'),
                favourite        = favouritesToggle.isOn,
                itemTypeCategory = categoryDropDown.value,
                //Does not seem to be neccasary any more
                //_TextureColourPath = Application.persistentDataPath + itemTile._TextureColourPath,
                //_TextureNormalPath = Application.persistentDataPath + itemTile._TextureNormalPath,
                //_TextureDisplacementPath = Application.persistentDataPath + itemTile._TextureDisplacementPath,
                //_TextureSpecularPath = Application.persistentDataPath + itemTile._TextureSpecularPath,
                //_TextureOcclusionPath = Application.persistentDataPath + itemTile._TextureOcclusionPath,
            };
        }


        if (itemTile._ItemID == 0) //New Asset
        {
            //Copy All Files

            catalogueManager._CreatedAssetCount++;
            itemTile._ItemID = catalogueManager._CreatedAssetCount;
            CatalogueItemDetail itemDetail = new CatalogueItemDetail
            {
                ItemType = CatalogueItemDetail.ItemTypes.Tile,
                ItemID   = catalogueManager._CreatedAssetCount,
                CatalogueItemDirectory = "/Assets/Tiles/" + catalogueManager._CreatedAssetCount.ToString("D5") + "/",
                DateModified           = DateTime.Now.ToString(),
                FriendlyName           = itemTile._FriendlyName,
                ItemTypeCategory       = categoryDropDown.value,
            };

            string _LocalAssetPath = "/" + catalogueManager._DatabaseUID + itemDetail.CatalogueItemDirectory + "/";
            //Debug.Log(_LocalAssetPath);
            cmd_File.DeleteFolder(Application.persistentDataPath + _LocalAssetPath, false);

            Directory.CreateDirectory(Application.persistentDataPath + _LocalAssetPath);

            if (tempTextureColourPath != null)
            {
                string path = _LocalAssetPath + "/" + Path.GetFileName(tempTextureColourPath);
                File.Copy(tempTextureColourPath, Application.persistentDataPath + path, true);
                itemTile._TextureColourPath = path;
            }
            if (tempTextureNormalPath != null)
            {
                string path = _LocalAssetPath + "/" + Path.GetFileName(tempTextureNormalPath);
                File.Copy(tempTextureNormalPath, Application.persistentDataPath + path, true);
                itemTile._TextureNormalPath = path;
            }
            if (tempTextureDisplacementPath != null)
            {
                string path = _LocalAssetPath + "/" + Path.GetFileName(tempTextureDisplacementPath);
                File.Copy(tempTextureDisplacementPath, Application.persistentDataPath + path, true);
                itemTile._TextureDisplacementPath = path;
            }
            if (tempTextureSpecularPath != null)
            {
                string path = _LocalAssetPath + "/" + Path.GetFileName(tempTextureSpecularPath);
                File.Copy(tempTextureSpecularPath, Application.persistentDataPath + path, true);
                itemTile._TextureSpecularPath = path;
            }
            if (tempTextureOcclusionPath != null)
            {
                string path = _LocalAssetPath + "/" + Path.GetFileName(tempTextureOcclusionPath);
                File.Copy(tempTextureOcclusionPath, Application.persistentDataPath + path, true);
                itemTile._TextureOcclusionPath = path;
            }

            cmd_File.SerializeObject(Application.persistentDataPath + _LocalAssetPath, _ItemFileName, itemTile);
            catalogueManager._CatalogueItemDetails.Add(itemDetail);
            catalogueManager.ResyncCatalogueDatabaseAsync();

            using (DropboxClient _DropboxClient = new DropboxClient(AvoEx.AesEncryptor.DecryptString(PlayerPrefs.GetString("Token"))))
            {
                if (tempTextureColourPath != null)
                {
                    await cmd_Dropbox.UploadFileAsync(_DropboxClient, tempTextureColourPath, itemDetail.CatalogueItemDirectory, Path.GetFileName(tempTextureColourPath));
                }

                if (tempTextureNormalPath != null)
                {
                    await cmd_Dropbox.UploadFileAsync(_DropboxClient, tempTextureNormalPath, itemDetail.CatalogueItemDirectory, Path.GetFileName(tempTextureNormalPath));
                }

                if (tempTextureDisplacementPath != null)
                {
                    await cmd_Dropbox.UploadFileAsync(_DropboxClient, tempTextureDisplacementPath, itemDetail.CatalogueItemDirectory, Path.GetFileName(tempTextureDisplacementPath));
                }

                if (tempTextureSpecularPath != null)
                {
                    await cmd_Dropbox.UploadFileAsync(_DropboxClient, tempTextureSpecularPath, itemDetail.CatalogueItemDirectory, Path.GetFileName(tempTextureSpecularPath));
                }

                if (tempTextureOcclusionPath != null)
                {
                    await cmd_Dropbox.UploadFileAsync(_DropboxClient, tempTextureOcclusionPath, itemDetail.CatalogueItemDirectory, Path.GetFileName(tempTextureOcclusionPath));
                }

                await cmd_Dropbox.UploadObjAsync(_DropboxClient, itemTile, itemDetail.CatalogueItemDirectory, _ItemFileName);

                Debug.Log("LOG:" + DateTime.Now.ToString() + " - " + itemTile._FriendlyName + " Created");

                MessageBox.Show("Boom Shaka Laka", "Asset Now Added", () =>
                {
                    GetComponent <PopupItemController>().HideDialog(0);
                });
            }

            GameObject go = Instantiate(Resources.Load(_ThumnailPrefabName) as GameObject, GameObject.FindWithTag("ThumbnailGrid").transform);
            go.SendMessage("ObjectParse", itemTile);
        }
        else
        {
            foreach (CatalogueItemDetail itemDetail in catalogueManager._CatalogueItemDetails)
            {
                if (itemDetail.ItemID == itemTile._ItemID)
                {
                    itemDetail.DateModified   = DateTime.Now.ToString();
                    itemTile._ModifiedDate    = DateTime.Now.ToString();
                    itemDetail.FriendlyName   = assetFriendlyName.text;
                    itemTile._FriendlyName    = assetFriendlyName.text;
                    itemTile.tags             = tagsInputField.text.Split('#');
                    itemTile.favourite        = favouritesToggle.isOn;
                    itemTile.itemTypeCategory = categoryDropDown.value;
                    itemThumbnail.lable.text  = assetFriendlyName.text;
                    itemThumbnail.ObjectParse(itemTile);
                    catalogueManager.ResyncCatalogueDatabaseAsync();
                    using (DropboxClient dropboxClient = new DropboxClient(AvoEx.AesEncryptor.DecryptString(PlayerPrefs.GetString("Token"))))
                    {
                        await cmd_Dropbox.UploadObjAsync(dropboxClient, itemTile, itemDetail.CatalogueItemDirectory, _ItemFileName);

                        Debug.Log("LOG:" + DateTime.Now.ToString() + " - " + itemTile._FriendlyName + " Updated");
                        MessageBox.Show("Boom Shaka Laka", "Asset Now Updated", () =>
                        {
                            GetComponent <PopupItemController>().HideDialog(0);
                        });
                        string localPath = Application.persistentDataPath + "/" + catalogueManager._DatabaseUID + itemDetail.CatalogueItemDirectory + "/";
                        cmd_File.SerializeObject(localPath, _ItemFileName, itemTile);
                        return;
                    }
                }
            }
        }
        loadingPanelUI.gameObject.SetActive(false);
        this.GetComponent <Button>().interactable = true;
    }