Exemple #1
0
    public void RefreshIsoList()
    {
        string fullpath = m_Path;

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

        string[] dirs = Directory.GetDirectories(fullpath);
        dirs = dirs.OrderByDescending(a => { return(Directory.GetLastWriteTime(a).Ticks); }).ToArray();
        string[] files = Directory.GetFiles(fullpath);
        files = files.OrderByDescending(a => { return(Directory.GetLastWriteTime(a).Ticks); }).ToArray();

        ClearItems();
        m_SelectedItem = null;

        foreach (string s in dirs)
        {
            GameObject item_go = GameObject.Instantiate(m_ItemRes) as GameObject;
            Vector3    scale   = item_go.transform.localScale;
            item_go.name                    = "[Dir] " + new DirectoryInfo(s).Name;
            item_go.transform.parent        = m_ItemGroup.transform;
            item_go.transform.localPosition = Vector3.zero;
            item_go.transform.localScale    = scale;
            VCEUIIsoItem iso_item = item_go.GetComponent <VCEUIIsoItem>();
            iso_item.m_ParentList = this;
            iso_item.m_HoverBtn.AddComponent <UIDragPanelContents>();
            iso_item.m_IsFolder = true;
            iso_item.m_FilePath = s;
            m_AssetItems.Add(item_go);
        }
        foreach (string s in files)
        {
            GameObject item_go = GameObject.Instantiate(m_ItemRes) as GameObject;
            Vector3    scale   = item_go.transform.localScale;
            item_go.name                    = "[File] " + new FileInfo(s).Name;
            item_go.transform.parent        = m_ItemGroup.transform;
            item_go.transform.localPosition = Vector3.zero;
            item_go.transform.localScale    = scale;
            VCEUIIsoItem iso_item = item_go.GetComponent <VCEUIIsoItem>();
            iso_item.m_ParentList = this;
            iso_item.m_HoverBtn.AddComponent <UIDragPanelContents>();
            iso_item.m_IsFolder = false;
            iso_item.m_FilePath = s;
            m_AssetItems.Add(item_go);
        }
        if (dirs.Length + files.Length == 0)
        {
            m_EmptyItem.SetActive(true);
        }
        else
        {
            m_EmptyItem.SetActive(false);
        }
        RepositionGrid();
        RepositionList();
    }
Exemple #2
0
    void Refresh()
    {
        if (m_FilePath.Length < 1)
        {
            m_HeaderGroup.SetActive(false);
            m_ErrorMessageLabel.gameObject.SetActive(false);
            DestroyIconMat();
        }
        else
        {
            VCIsoHeadData isoheader;
            int           file_size = VCIsoData.ExtractHeader(m_FilePath, out isoheader);
            if (file_size > 0)
            {
                m_ErrorMessageLabel.gameObject.SetActive(false);
                m_NameLabel.color = new Color(1f, 1f, 1f, 1f);
                m_NameLabel.text  = isoheader.Name;
                if (isoheader.Name.Trim().Length < 1)
                {
                    m_NameLabel.color = new Color(0.7f, 0.7f, 0.7f, 0.5f);
                    m_NameLabel.text  = "< No name >".ToLocalizationString();
                }
                m_CategoryLabel.text = VCConfig.s_Categories[isoheader.Category].m_Name.ToLocalizationString();
                m_SizeLabel.text     = "Width".ToLocalizationString() + ": " + isoheader.xSize.ToString()
                                       + "\r\n" + "Depth".ToLocalizationString() + ": " + isoheader.zSize.ToString()
                                       + "\r\n" + "Height".ToLocalizationString() + ": " + isoheader.ySize.ToString();
                m_DescriptionLabel.color = new Color(1f, 1f, 1f, 1f);
                m_DescriptionLabel.text  = isoheader.Desc;
                if (isoheader.Desc.Trim().Length < 1)
                {
                    m_DescriptionLabel.color = new Color(0.7f, 0.7f, 0.7f, 0.5f);
                    m_DescriptionLabel.text  = "< No description >".ToLocalizationString();
                }
                string version = "v";
                version += ((isoheader.Version >> 24) & 0xff).ToString();
                version += ".";
                version += ((isoheader.Version >> 16) & 0xff).ToString();
                m_FileSizeLabel.text = "";
                if (isoheader.Author != null && isoheader.Author.Trim().Length > 0)
                {
                    m_FileSizeLabel.text = "Author".ToLocalizationString() + ": [00FFFF]" + isoheader.Author.Trim() + "[-]\r\n";
                }
                if (isoheader.Version > VCIsoData.ISO_VERSION)
                {
                    m_FileSizeLabel.text += ("ISO " + "Version".ToLocalizationString() + ": [FF0000]" + version + "[-]\r\n");
                }
                else
                {
                    m_FileSizeLabel.text += ("ISO " + "Version".ToLocalizationString() + ": [00FFFF]" + version + "[-]\r\n");
                }
                m_FileSizeLabel.text += ("File Size".ToLocalizationString() + ": [00FFFF]" + (file_size >> 10).ToString("#,##0") + " KB[-]");
                CreateIconMat(isoheader.IconTex);
                m_HeaderGroup.SetActive(true);
            }
            else
            {
                m_HeaderGroup.SetActive(false);
                DestroyIconMat();

                VCEUIIsoItem isoitem = VCEditor.Instance.m_UI.m_IsoList.m_SelectedItem;
                if (isoitem != null)
                {
                    FileInfo fi = new FileInfo(isoitem.m_FilePath);
                    if (fi.Extension == VCConfig.s_IsoFileExt)
                    {
                        m_ErrorMessageLabel.text = "Corrupt file data".ToLocalizationString();
                    }
                    else if (fi.Extension == VCConfig.s_ObsoleteIsoFileExt)
                    {
                        m_ErrorMessageLabel.text = "Obsoleted ISO format".ToLocalizationString() + "\r\n\r\n" +
                                                   "[FF8080]" + "This ISO version is NOT compatible with the current build, please download the converter from our website".ToLocalizationString() + "![-]";
                    }
                    else
                    {
                        m_ErrorMessageLabel.text = "Unknown file format".ToLocalizationString();
                    }
                }
                else
                {
                    Debug.LogError("This cannot happen");
                }
                m_ErrorMessageLabel.gameObject.SetActive(true);
            }
        }
    }
Exemple #3
0
    public static void Response(VCEMsgBoxType type, VCEMsgBoxButton button, int frameindex)
    {
        switch (type)
        {
        case VCEMsgBoxType.CLOSE_QUERY:
        {
            if (button == VCEMsgBoxButton.L)
            {
                VCEditor.Instance.m_UI.OnSaveClick();
            }
            else if (button == VCEMsgBoxButton.C)
            {
                VCEditor.Quit();
            }
            break;
        }

        case VCEMsgBoxType.CLOSE_QUERY_NOSAVE:
        {
            if (button == VCEMsgBoxButton.L)
            {
                VCEditor.Quit();
            }
            break;
        }

        case VCEMsgBoxType.SWITCH_QUERY:
        {
            if (button == VCEMsgBoxButton.L)
            {
                VCEditor.Instance.m_UI.OnSaveClick();
            }
            else if (button == VCEMsgBoxButton.R)
            {
                VCEUISceneMenuItem.DoCreateSceneFromMsgBox();
            }
            VCEUISceneMenuItem.s_SceneToCreate = null;
            break;
        }

        case VCEMsgBoxType.LOAD_QUERY:
        {
            if (button == VCEMsgBoxButton.L)
            {
                VCEditor.Instance.m_UI.OnSaveClick();
            }
            else if (button == VCEMsgBoxButton.R)
            {
                VCEUIIsoItem.DoLoadFromMsgBox();
            }
            VCEUIIsoItem.s_IsoToLoad = "";
            break;
        }

        case VCEMsgBoxType.MATERIAL_DEL_QUERY:
        {
            if (button == VCEMsgBoxButton.L)
            {
                VCEUIMaterialItem.DoDeleteFromMsgBox();
            }
            VCEUIMaterialItem.s_CurrentDelMat = null;
            break;
        }

        case VCEMsgBoxType.DECAL_DEL_QUERY:
        {
            if (button == VCEMsgBoxButton.L)
            {
                VCEUIDecalItem.DoDeleteFromMsgBox();
            }
            VCEUIDecalItem.s_CurrentDelDecal = null;
            break;
        }

        case VCEMsgBoxType.DELETE_ISO:
        {
            if (button == VCEMsgBoxButton.L)
            {
                VCEUIIsoItem.DoDeleteFromMsgBox();
            }
            VCEUIIsoItem.s_IsoToDelete = "";
            break;
        }

        case VCEMsgBoxType.MISSING_ISO:
        {
            break;
        }

        case VCEMsgBoxType.CORRUPT_ISO:
        {
            break;
        }

        case VCEMsgBoxType.CANNOT_SAVE_NONAME:
        {
            break;
        }

        case VCEMsgBoxType.REPLACE_QUERY:
        {
            if (button == VCEMsgBoxButton.L)
            {
                VCEUISaveWnd.DoSaveForOverwrite();
            }
            VCEUISaveWnd.s_SaveTargetForOverwrite = "";
            break;
        }

        case VCEMsgBoxType.SAVE_OK:
        {
            break;
        }

        case VCEMsgBoxType.SAVE_FAILED:
        {
            break;
        }

        case VCEMsgBoxType.ISO_INCOMPLETE:
        {
            break;
        }

        case VCEMsgBoxType.ISO_INVALID:
        {
            break;
        }

        case VCEMsgBoxType.EXPORT_OK:
        {
            VCEditor.Instance.m_UI.m_ExportWindow.Hide();
            break;
        }

        case VCEMsgBoxType.EXPORT_NETWORK:
        {
            VCEditor.Instance.m_UI.m_ExportWindow.Hide();
            break;
        }

        case VCEMsgBoxType.EXPORT_FAILED:
        {
            break;
        }

        case VCEMsgBoxType.EXPORT_NOTSAVED:
        {
            VCEditor.Instance.m_UI.OnSaveAsClick();
            break;
        }

        case VCEMsgBoxType.EXPORT_FULL:
        {
            break;
        }

        case VCEMsgBoxType.CANNOT_EXPORT_NOW:
        {
            break;
        }

        case VCEMsgBoxType.CANNOT_EXTRUDE:
        {
            break;
        }
        }
    }