static void UploadToServer()
    {
        string serverPath = "D:\\wamp\\www\\SuperWings\\main\\" + AppV + "\\" + CodeV;
        string ResPath    = serverPath + "\\" + ResV;

        if (FileTools.IsDirectoryExist(ResPath))
        {
            EditorUtility.DisplayDialog("提示", "资源版本" + AppV + "." + CodeV + "." + ResV + "已经存在!", "确定");
            return;
        }
        FileTools.CreateDirectory(ResPath);

        string       info     = File.ReadAllText(Path.Combine(AssetOutPath, ResInfoName));
        ResourceInfo itemInfo = JsonUtility.FromJson <ResourceInfo> (info);

        BundleNames.Clear();
        for (int i = 0; i < itemInfo.ResList.Count; i++)
        {
            if (itemInfo.ResList [i].IsAsset)
            {
                BundleNames.Add(itemInfo.ResList [i].Name);
            }
            //AddBundleName (itemInfo.ResList [i]);
        }
        ZipFileToServer(ResPath);
        CreateUpdateFile(ResPath, itemInfo);
        FileTools.CopyFile(FileTools.CombinePath(AssetOutPath, ResInfoName), FileTools.CombinePath(serverPath, ResInfoName));

        EditorUtility.DisplayDialog("提示", "上传完成!", "确定");
    }
Exemplo n.º 2
0
    static void ZipAndCopy(string outPath, string name)
    {
        string outP = GetOutPath(CreateAssetBundle.AssetPath);
        string resP = Path.Combine(outP, name + CreateAssetBundle.ResInfoName);

        string       info     = File.ReadAllText(Path.Combine(outP, name + CreateAssetBundle.ResInfoName));
        ResourceInfo itemInfo = JsonUtility.FromJson <ResourceInfo> (info);

        BundleNames.Clear();
        for (int i = 0; i < itemInfo.ResList.Count; i++)
        {
            if (itemInfo.ResList [i].IsAsset)
            {
                BundleNames.Add(itemInfo.ResList [i].Name);
                string filePath = Path.Combine(outP, itemInfo.ResList[i].Name);
                long   size     = FileTools.GetFileSize(filePath);
                itemInfo.ResLength += size;
            }
        }
        CreateAssetBundle.SaveResInfoFile(FileTools.CombinePath(outP, name + CreateAssetBundle.ResInfoName), itemInfo);
        BundleNames.Add(name + CreateAssetBundle.ResInfoName);
        string zipPath = Path.Combine(outPath, name + ".zip");

        ZipUtils.CreateZipFile(zipPath, outP, BundleNames);
    }
    static void CreateUpdateFile(string path, ResourceInfo resInfo)
    {
        string updatePath = FileTools.CombinePath(path, UpdateFileName);

        resInfo.ResLength = 0;
        using (StreamWriter streamWriter = new StreamWriter(updatePath, false)) {
            string[] files = Directory.GetFiles(path);
            for (int i = 0; i < files.Length; i++)
            {
                string fileName = Path.GetFileName(files[i]);
                if (fileName.IndexOf(AssetHeplerEditor.GetPlatformName()) >= 0 || fileName.IndexOf(".meta") >= 0 || fileName.IndexOf(".manifest") >= 0 || !BundleNames.Contains(fileName))
                {
                    //文件夹名称的AssetBundle排除
                    continue;
                }
                if (fileName == ResInfoName || fileName == UpdateFileName)
                {
                    continue;
                }
                string md5      = FileTools.GetMD5(Path.Combine(AssetOutPath, fileName));
                string filePath = Path.Combine(path, fileName);
                long   size     = FileTools.GetFileSize(filePath);
                resInfo.ResLength += size;
                string value = fileName + ";" + size + ";" + md5;
                streamWriter.WriteLine(value);
                streamWriter.Flush();
            }
        }
    }
Exemplo n.º 4
0
    static void CopyToSteaming(string rootName, string name)
    {
        string ResPath = FileTools.CombinePath(Application.streamingAssetsPath, CreateAssetBundle.AssetPath);

        FileTools.CreateDirectory(ResPath);

        ZipAndCopy(ResPath, name);
    }
 public static void ClearAssetName(string path, ResourceInfo info)
 {
     //清除AssetBundle的名字
     for (int i = 0; i < info.ResList.Count; i++)
     {
         AssetHeplerEditor.SetAssetBundleName(FileTools.CombinePath(RootPath + path, info.ResList[i].Path), "");
         //SetAssetNameToNull (mResourceInfo.ResList[i]);
     }
 }
Exemplo n.º 6
0
    static void UploadAsset(string rootName, string name, int codeV, int resV)
    {
        string ResPath = "D:\\Game\\" + name + "\\" + codeV;

        FileTools.CreateDirectory(ResPath);

        ZipAndCopy(ResPath, name);

        string outP = GetOutPath(CreateAssetBundle.AssetPath);
        string resP = Path.Combine(outP, name + CreateAssetBundle.ResInfoName);

        FileTools.CopyFile(resP, FileTools.CombinePath(ResPath, name + CreateAssetBundle.ResInfoName));

        EditorUtility.DisplayDialog("提示", "上传完成!", "确定");
    }
Exemplo n.º 7
0
    public void ImageConverTest()
    {
        //注意:这里不能为null
        Texture2D t2d = new Texture2D(2, 2);

        byte[] bfs = File.ReadAllBytes(FileTools.CombinePath(Application.streamingAssetsPath, "test.jpg"));
        if (ImageConversion.LoadImage(t2d, bfs))
        {
            render.material.mainTexture = t2d;
        }
        else
        {
            Debug.Log("解析失败");
        }
    }
 static void ZipFileToServer(string serverPath)
 {
     string[] files = Directory.GetFiles(AssetOutPath);
     for (int i = 0; i < files.Length; i++)
     {
         string fileName = Path.GetFileName(files [i]);
         if (fileName.IndexOf(AssetHeplerEditor.GetPlatformName()) >= 0 || fileName.IndexOf(".meta") >= 0 || fileName.IndexOf(".manifest") >= 0 || !BundleNames.Contains(fileName))
         {
             //文件夹名称的AssetBundle排除
             continue;
         }
         if (fileName == ResInfoName)
         {
             continue;
         }
         string dp = FileTools.CombinePath(serverPath, fileName);
         ZipUtils.CompressFile(files[i], dp);
     }
 }
Exemplo n.º 9
0
    static void CreateAsset(string rootName, string name, int appV, int codeV, int resV)
    {
        PublishEditor.MoveResToModuleAsset(name);
        BundleNames.Clear();
        ResourceInfo resInfo = new ResourceInfo();

        resInfo.AppVersion  = appV;
        resInfo.CodeVersion = codeV;
        resInfo.ResVersion  = resV;
        resInfo.ResList     = new List <ResourceItemInfo> ();
        ResourceItemInfo item = new ResourceItemInfo();

        item.Path       = name;
        item.Name       = name;
        item.IsResident = false;
        GetResItemInfo(resInfo, item.Path, false, BundleNames);
        item.ResNames = new List <string> ();
        resInfo.ResList.Add(item);
        item.IsAsset = AssetHeplerEditor.SetAssetBundleName("Assets/" + rootName + "/" + name, item.Name, item.ResNames);

        string outP = GetOutPath(CreateAssetBundle.AssetPath);

        //FileTools.ClearDirectory (outP);
        FileTools.CreateDirectory(outP);

        BuildPipeline.BuildAssetBundles(outP, BuildAssetBundleOptions.UncompressedAssetBundle | BuildAssetBundleOptions.ForceRebuildAssetBundle, EditorUserBuildSettings.activeBuildTarget);

        CreateAssetBundle.SetDependencies(resInfo, outP);

        CreateAssetBundle.SaveResInfoFile(FileTools.CombinePath(outP, name + CreateAssetBundle.ResInfoName), resInfo);

        CreateAssetBundle.ClearAssetName(rootName, resInfo);

        //CopyToSteaming(rootName, name);
        PublishEditor.MoveModuleAssetToRes(name);
        AssetDatabase.Refresh();
        //EditorUtility.DisplayDialog("提示", "打包AssetBundle完成!", "确定");
    }
Exemplo n.º 10
0
    public static void Load()
    {
        path         = FileTools.CombinePath(TABLE_PATH, "goodsinfo");
        resource     = ResourceManager.Instance.GetResource(path, typeof(TextAsset), enResourceType.TableProto);
        binaryObject = resource.m_content as BinaryObject;
        stream       = new MemoryStream(binaryObject.m_data);
        GoodsInfo_ARRAY GoodsInfo_items = Serializer.Deserialize <GoodsInfo_ARRAY>(stream);

        for (int i = 0; i < GoodsInfo_items.items.Count; i++)
        {
            GoodsInfoDict.Add(GoodsInfo_items.items [i].id, GoodsInfo_items.items [i]);
        }
        path         = FileTools.CombinePath(TABLE_PATH, "itemsinfo");
        resource     = ResourceManager.Instance.GetResource(path, typeof(TextAsset), enResourceType.TableProto);
        binaryObject = resource.m_content as BinaryObject;
        stream       = new MemoryStream(binaryObject.m_data);
        ItemsInfo_ARRAY ItemsInfo_items = Serializer.Deserialize <ItemsInfo_ARRAY>(stream);

        for (int i = 0; i < ItemsInfo_items.items.Count; i++)
        {
            ItemsInfoDict.Add(ItemsInfo_items.items [i].id, ItemsInfo_items.items [i]);
        }
    }
Exemplo n.º 11
0
    public static void SetDependencies(ResourceInfo itemInfo, string outPath)
    {
        //string info = File.ReadAllText (Path.Combine (AssetOutPath, ResInfoName));
        //ResourceInfo itemInfo = JsonUtility.FromJson<ResourceInfo> (info);

        AssetBundle         ab = AssetBundle.LoadFromFile(FileTools.CombinePath(outPath, AssetHeplerEditor.GetPlatformName()));
        AssetBundleManifest m  = ab.LoadAsset <AssetBundleManifest> ("AssetBundleManifest");

        //Debug.Log (m.GetAllDependencies("10001")[0]);
        for (int i = 0; i < itemInfo.ResList.Count; i++)
        {
            if (itemInfo.ResList [i].IsAsset)
            {
                itemInfo.ResList [i].Dependencies = m.GetAllDependencies(itemInfo.ResList [i].Name);
            }
        }
        ab.Unload(true);
//		string infoPath = Path.Combine (AssetOutPath, ResInfoName);
//		using (StreamWriter streamWriter = new StreamWriter(infoPath, false)) {
//			streamWriter.WriteLine(JsonUtility.ToJson(itemInfo));
//			streamWriter.Flush();
//		}
//		Debug.LogWarning (JsonUtility.ToJson(itemInfo));
    }
Exemplo n.º 12
0
 static string GetOutPath(string path)
 {
     return(FileTools.CombinePath(path, AssetHeplerEditor.GetPlatformName()));
 }
Exemplo n.º 13
0
    public static void Load()
    {
        path         = FileTools.CombinePath(TABLE_PATH, "actionaudioinfo");
        resource     = ResourceManager.Instance.GetResource(path, typeof(TextAsset), enResourceType.TableProto);
        binaryObject = resource.m_content as BinaryObject;
        stream       = new MemoryStream(binaryObject.m_data);
        ActionAudioInfo_ARRAY ActionAudioInfo_items = Serializer.Deserialize <ActionAudioInfo_ARRAY>(stream);

        for (int i = 0; i < ActionAudioInfo_items.items.Count; i++)
        {
            ActionAudioInfoDict.Add(ActionAudioInfo_items.items [i].id, ActionAudioInfo_items.items [i]);
        }
        path         = FileTools.CombinePath(TABLE_PATH, "actorinfo");
        resource     = ResourceManager.Instance.GetResource(path, typeof(TextAsset), enResourceType.TableProto);
        binaryObject = resource.m_content as BinaryObject;
        stream       = new MemoryStream(binaryObject.m_data);
        ActorInfo_ARRAY ActorInfo_items = Serializer.Deserialize <ActorInfo_ARRAY>(stream);

        for (int i = 0; i < ActorInfo_items.items.Count; i++)
        {
            ActorInfoDict.Add(ActorInfo_items.items [i].id, ActorInfo_items.items [i]);
        }
        path         = FileTools.CombinePath(TABLE_PATH, "audioenglishinfo");
        resource     = ResourceManager.Instance.GetResource(path, typeof(TextAsset), enResourceType.TableProto);
        binaryObject = resource.m_content as BinaryObject;
        stream       = new MemoryStream(binaryObject.m_data);
        AudioEnglishInfo_ARRAY AudioEnglishInfo_items = Serializer.Deserialize <AudioEnglishInfo_ARRAY>(stream);

        for (int i = 0; i < AudioEnglishInfo_items.items.Count; i++)
        {
            AudioEnglishInfoDict.Add(AudioEnglishInfo_items.items [i].id, AudioEnglishInfo_items.items [i]);
        }
        path         = FileTools.CombinePath(TABLE_PATH, "audioinfo");
        resource     = ResourceManager.Instance.GetResource(path, typeof(TextAsset), enResourceType.TableProto);
        binaryObject = resource.m_content as BinaryObject;
        stream       = new MemoryStream(binaryObject.m_data);
        AudioInfo_ARRAY AudioInfo_items = Serializer.Deserialize <AudioInfo_ARRAY>(stream);

        for (int i = 0; i < AudioInfo_items.items.Count; i++)
        {
            AudioInfoDict.Add(AudioInfo_items.items [i].id, AudioInfo_items.items [i]);
        }
        path         = FileTools.CombinePath(TABLE_PATH, "englishcoloursinfo");
        resource     = ResourceManager.Instance.GetResource(path, typeof(TextAsset), enResourceType.TableProto);
        binaryObject = resource.m_content as BinaryObject;
        stream       = new MemoryStream(binaryObject.m_data);
        EnglishColoursInfo_ARRAY EnglishColoursInfo_items = Serializer.Deserialize <EnglishColoursInfo_ARRAY>(stream);

        for (int i = 0; i < EnglishColoursInfo_items.items.Count; i++)
        {
            EnglishColoursInfoDict.Add(EnglishColoursInfo_items.items [i].id, EnglishColoursInfo_items.items [i]);
        }
        path         = FileTools.CombinePath(TABLE_PATH, "englishletterinfo");
        resource     = ResourceManager.Instance.GetResource(path, typeof(TextAsset), enResourceType.TableProto);
        binaryObject = resource.m_content as BinaryObject;
        stream       = new MemoryStream(binaryObject.m_data);
        EnglishLetterInfo_ARRAY EnglishLetterInfo_items = Serializer.Deserialize <EnglishLetterInfo_ARRAY>(stream);

        for (int i = 0; i < EnglishLetterInfo_items.items.Count; i++)
        {
            EnglishLetterInfoDict.Add(EnglishLetterInfo_items.items [i].id, EnglishLetterInfo_items.items [i]);
        }
        path         = FileTools.CombinePath(TABLE_PATH, "englishlevelinfo");
        resource     = ResourceManager.Instance.GetResource(path, typeof(TextAsset), enResourceType.TableProto);
        binaryObject = resource.m_content as BinaryObject;
        stream       = new MemoryStream(binaryObject.m_data);
        EnglishLevelInfo_ARRAY EnglishLevelInfo_items = Serializer.Deserialize <EnglishLevelInfo_ARRAY>(stream);

        for (int i = 0; i < EnglishLevelInfo_items.items.Count; i++)
        {
            EnglishLevelInfoDict.Add(EnglishLevelInfo_items.items [i].id, EnglishLevelInfo_items.items [i]);
        }
        path         = FileTools.CombinePath(TABLE_PATH, "englishmainiteminfo");
        resource     = ResourceManager.Instance.GetResource(path, typeof(TextAsset), enResourceType.TableProto);
        binaryObject = resource.m_content as BinaryObject;
        stream       = new MemoryStream(binaryObject.m_data);
        EnglishMainItemInfo_ARRAY EnglishMainItemInfo_items = Serializer.Deserialize <EnglishMainItemInfo_ARRAY>(stream);

        for (int i = 0; i < EnglishMainItemInfo_items.items.Count; i++)
        {
            EnglishMainItemInfoDict.Add(EnglishMainItemInfo_items.items [i].id, EnglishMainItemInfo_items.items [i]);
        }
        path         = FileTools.CombinePath(TABLE_PATH, "expressphotosinfo");
        resource     = ResourceManager.Instance.GetResource(path, typeof(TextAsset), enResourceType.TableProto);
        binaryObject = resource.m_content as BinaryObject;
        stream       = new MemoryStream(binaryObject.m_data);
        ExpressPhotosInfo_ARRAY ExpressPhotosInfo_items = Serializer.Deserialize <ExpressPhotosInfo_ARRAY>(stream);

        for (int i = 0; i < ExpressPhotosInfo_items.items.Count; i++)
        {
            ExpressPhotosInfoDict.Add(ExpressPhotosInfo_items.items [i].id, ExpressPhotosInfo_items.items [i]);
        }
        path         = FileTools.CombinePath(TABLE_PATH, "mainanimation");
        resource     = ResourceManager.Instance.GetResource(path, typeof(TextAsset), enResourceType.TableProto);
        binaryObject = resource.m_content as BinaryObject;
        stream       = new MemoryStream(binaryObject.m_data);
        MainAnimation_ARRAY MainAnimation_items = Serializer.Deserialize <MainAnimation_ARRAY>(stream);

        for (int i = 0; i < MainAnimation_items.items.Count; i++)
        {
            MainAnimationDict.Add(MainAnimation_items.items [i].id, MainAnimation_items.items [i]);
        }
        path         = FileTools.CombinePath(TABLE_PATH, "mainiteminfo");
        resource     = ResourceManager.Instance.GetResource(path, typeof(TextAsset), enResourceType.TableProto);
        binaryObject = resource.m_content as BinaryObject;
        stream       = new MemoryStream(binaryObject.m_data);
        MainItemInfo_ARRAY MainItemInfo_items = Serializer.Deserialize <MainItemInfo_ARRAY>(stream);

        for (int i = 0; i < MainItemInfo_items.items.Count; i++)
        {
            MainItemInfoDict.Add(MainItemInfo_items.items [i].id, MainItemInfo_items.items [i]);
        }
        path         = FileTools.CombinePath(TABLE_PATH, "matrixlevel");
        resource     = ResourceManager.Instance.GetResource(path, typeof(TextAsset), enResourceType.TableProto);
        binaryObject = resource.m_content as BinaryObject;
        stream       = new MemoryStream(binaryObject.m_data);
        MatrixLevel_ARRAY MatrixLevel_items = Serializer.Deserialize <MatrixLevel_ARRAY>(stream);

        for (int i = 0; i < MatrixLevel_items.items.Count; i++)
        {
            MatrixLevelDict.Add(MatrixLevel_items.items [i].id, MatrixLevel_items.items [i]);
        }
        path         = FileTools.CombinePath(TABLE_PATH, "matrixlevelinfo");
        resource     = ResourceManager.Instance.GetResource(path, typeof(TextAsset), enResourceType.TableProto);
        binaryObject = resource.m_content as BinaryObject;
        stream       = new MemoryStream(binaryObject.m_data);
        MatrixLevelInfo_ARRAY MatrixLevelInfo_items = Serializer.Deserialize <MatrixLevelInfo_ARRAY>(stream);

        for (int i = 0; i < MatrixLevelInfo_items.items.Count; i++)
        {
            MatrixLevelInfoDict.Add(MatrixLevelInfo_items.items [i].id, MatrixLevelInfo_items.items [i]);
        }
        path         = FileTools.CombinePath(TABLE_PATH, "newbieinfo");
        resource     = ResourceManager.Instance.GetResource(path, typeof(TextAsset), enResourceType.TableProto);
        binaryObject = resource.m_content as BinaryObject;
        stream       = new MemoryStream(binaryObject.m_data);
        NewBieInfo_ARRAY NewBieInfo_items = Serializer.Deserialize <NewBieInfo_ARRAY>(stream);

        for (int i = 0; i < NewBieInfo_items.items.Count; i++)
        {
            NewBieInfoDict.Add(NewBieInfo_items.items [i].id, NewBieInfo_items.items [i]);
        }
        path         = FileTools.CombinePath(TABLE_PATH, "newbiescript");
        resource     = ResourceManager.Instance.GetResource(path, typeof(TextAsset), enResourceType.TableProto);
        binaryObject = resource.m_content as BinaryObject;
        stream       = new MemoryStream(binaryObject.m_data);
        NewBieScript_ARRAY NewBieScript_items = Serializer.Deserialize <NewBieScript_ARRAY>(stream);

        for (int i = 0; i < NewBieScript_items.items.Count; i++)
        {
            NewBieScriptDict.Add(NewBieScript_items.items [i].id, NewBieScript_items.items [i]);
        }
        path         = FileTools.CombinePath(TABLE_PATH, "sensitiveword");
        resource     = ResourceManager.Instance.GetResource(path, typeof(TextAsset), enResourceType.TableProto);
        binaryObject = resource.m_content as BinaryObject;
        stream       = new MemoryStream(binaryObject.m_data);
        SensitiveWord_ARRAY SensitiveWord_items = Serializer.Deserialize <SensitiveWord_ARRAY>(stream);

        for (int i = 0; i < SensitiveWord_items.items.Count; i++)
        {
            SensitiveWordDict.Add(SensitiveWord_items.items [i].id, SensitiveWord_items.items [i]);
        }
        path         = FileTools.CombinePath(TABLE_PATH, "supermarketgoodsinfo");
        resource     = ResourceManager.Instance.GetResource(path, typeof(TextAsset), enResourceType.TableProto);
        binaryObject = resource.m_content as BinaryObject;
        stream       = new MemoryStream(binaryObject.m_data);
        SuperMarketGoodsInfo_ARRAY SuperMarketGoodsInfo_items = Serializer.Deserialize <SuperMarketGoodsInfo_ARRAY>(stream);

        for (int i = 0; i < SuperMarketGoodsInfo_items.items.Count; i++)
        {
            SuperMarketGoodsInfoDict.Add(SuperMarketGoodsInfo_items.items [i].id, SuperMarketGoodsInfo_items.items [i]);
        }
        path         = FileTools.CombinePath(TABLE_PATH, "timelineinfo");
        resource     = ResourceManager.Instance.GetResource(path, typeof(TextAsset), enResourceType.TableProto);
        binaryObject = resource.m_content as BinaryObject;
        stream       = new MemoryStream(binaryObject.m_data);
        TimelineInfo_ARRAY TimelineInfo_items = Serializer.Deserialize <TimelineInfo_ARRAY>(stream);

        for (int i = 0; i < TimelineInfo_items.items.Count; i++)
        {
            TimelineInfoDict.Add(TimelineInfo_items.items [i].id, TimelineInfo_items.items [i]);
        }
    }