Exemple #1
0
    public void SaveCapture(WorkBenchModel.WorkBenchStatus _status, int _textureWidth, int _textureHeight, float _screenWidth, float _screenHeight, Rect _rect)
    {
        if (string.IsNullOrEmpty(StaticData.folder))
        {
            return;
        }

        if (!Directory.Exists(StaticData.folder))
        {
            Directory.CreateDirectory(StaticData.folder);
        }

        string outdir = Path.Combine(StaticData.folder, "thumb");

        if (!Directory.Exists(outdir))
        {
            Directory.CreateDirectory(outdir);
        }

        FolderModel.FolderStatus statusFolder = _status.Access(FolderModel.FolderStatus.NAME) as FolderModel.FolderStatus;
        if (null == statusFolder.currentAsset)
        {
            return;
        }

        string file   = Path.Combine(outdir, statusFolder.currentAsset.code + ".jpg");
        Sprite sprite = captureRect(_textureWidth, _textureHeight, (int)_screenWidth, (int)_screenHeight, _rect);

        byte[] bytes = sprite.texture.EncodeToJPG(100);
        File.WriteAllBytes(file, bytes);
    }
Exemple #2
0
    public void RefreshThumb(FolderModel.FolderStatus _status)
    {
        FolderModel.Asset asset = _status.currentAsset;
        if (null == asset)
        {
            return;
        }

        Transform target = folderFacade.templateAsset.transform.parent.Find(asset.code);

        if (null == target)
        {
            return;
        }

        Image img = target.Find("Toggle/thumb").GetComponent <Image>();

        RootMono.instance.StartCoroutine(loadSprite(asset.thumb, img));
    }
Exemple #3
0
    public void RefreshFolder(FolderModel.FolderStatus _status)
    {
        List <string> needMove  = new List <string>();
        Transform     container = folderFacade.templateAsset.transform.parent;

        foreach (Transform child in container)
        {
            if (!child.gameObject.activeSelf)
            {
                continue;
            }
            needMove.Add(child.name);
        }

        foreach (FolderModel.Asset asset in _status.assets.Values)
        {
            if (needMove.Contains(asset.code))
            {
                needMove.Remove(asset.code);
            }

            Transform tsAsset = container.Find(asset.code);
            if (null == tsAsset)
            {
                GameObject assetClone = GameObject.Instantiate(folderFacade.templateAsset);
                assetClone.name = asset.code;
                assetClone.transform.SetParent(container);
                assetClone.transform.localScale = Vector3.one;
                assetClone.SetActive(true);

                assetClone.transform.Find("Toggle/uuid").GetComponent <Text>().text  = asset.code;
                assetClone.transform.Find("Toggle/name").GetComponent <Text>().text  = asset.name;
                assetClone.transform.Find("Toggle/alias").GetComponent <Text>().text = asset.alias;
                assetClone.transform.Find("Toggle/path").GetComponent <Text>().text  = asset.path;

                assetClone.transform.Find("Toggle").GetComponent <Toggle>().onValueChanged.AddListener((_toggled) =>
                {
                    if (!_toggled)
                    {
                        return;
                    }

                    if (null != currentAsset)
                    {
                        GameObject.Destroy(currentAsset);
                        currentAsset = null;
                    }
                    RenderSettings.skybox = (RootMVCS.instance as RootMVCS).skybox;

                    folderModel.RefreshAsset(assetClone.name);
                });

                Image img = assetClone.transform.Find("Toggle/thumb").GetComponent <Image>();
                RootMono.instance.StartCoroutine(loadSprite(asset.thumb, img));
            }
        }

        foreach (string uuid in needMove)
        {
            Transform child = container.Find(uuid);
            if (null == child)
            {
                continue;
            }
            GameObject.DestroyObject(child.gameObject);
        }
    }
Exemple #4
0
 public void RefreshAsset(FolderModel.FolderStatus _status)
 {
     FolderModel.Asset asset = _status.currentAsset;
     RootMono.instance.StartCoroutine(loadAsset(asset.win32, asset.name, asset.path));
 }
 public void RefreshThumb(FolderModel.FolderStatus _status)
 {
     folderView.RefreshThumb(_status);
 }
 public void RefreshAsset(FolderModel.FolderStatus _status)
 {
     folderView.RefreshAsset(_status);
 }