public void buildData() { int dotIdx = m_fullPath.IndexOf("."); string pathNoExt = m_fullPath.Substring(0, dotIdx); m_subPathNoExt = pathNoExt.Substring(m_dirData.fullDirPath.Length + 1); pathNoExt = pathNoExt.Substring(m_dirData.fullDirPath.Length + 1); char[] separator = new char[1]; separator[0] = '/'; m_pathArr = pathNoExt.Split(separator); int resIndex = m_fullPath.IndexOf(ExportUtil.RESOURCES); if (resIndex != -1) { m_resPath = m_fullPath.Substring(resIndex + ExportUtil.RESOURCES.Length + 1); dotIdx = m_resPath.IndexOf("."); if (dotIdx != -1) { m_resPath = m_resPath.Substring(0, dotIdx); } } int assetIndex = m_fullPath.IndexOf(ExportUtil.ASSETS); if (assetIndex != -1) { m_abPath = m_fullPath.Substring(assetIndex); } assetIndex = m_abPath.LastIndexOf("."); if (assetIndex != -1) { // AssetBundles 的 Label 都是从 Assets 目录下开始的,为了保持相同目录结构 m_abSetPath = m_abPath.Substring(0, assetIndex) + UtilApi.DOTUNITY3D; m_abSetPath = UtilPath.toLower(m_abSetPath); } }