Esempio n. 1
0
    private void            RemoveDependencies(AgentManifest mans)
    {
        if (mans.hasResources())
        {
            ResFolder resfolder = new ResFolder(mans.ResFolder);
            resfolder.ClearHierarchyFrom(Manifest.ResFolder);
        }
        ResFolder libfolder = new ResFolder(mans.LibraryFolder);

        libfolder.ClearHierarchyFrom(Manifest.LibsFolder);
        foreach (ManifestMetaData mmd in mans.MetaData)
        {
            if (manifest.application.hasMetaData(mmd.name))
            {
                manifest.application.meta_data.Remove(manifest.application.getMetaData(mmd.name));
            }
        }
    }
Esempio n. 2
0
 public ResFolder(ResFolder parent, string name)
 {
     this.parent = parent;
     this.name = name;
     string path = FilePath;
     string[] filespath = Directory.GetFiles(path);
     files = new string[filespath.Length];
     for (int i = 0; i < files.Length; i++) files[i] = filespath[i].Substring(path.Length);
     string[] dirs = Directory.GetDirectories(path);
     folders = new ResFolder[dirs.Length];
     for (int i = 0; i < folders.Length; i++) folders[i] = new ResFolder(this, dirs[i].Substring(path.Length));
 }
Esempio n. 3
0
    public ResFolder(string path)
    {
        parent = null;
        name = path;

        string[] filespath = Directory.GetFiles(path);
        files = new string[filespath.Length];
        for (int i = 0; i < files.Length; i++) files[i] = filespath[i].Substring(path.Length);
        string[] dirs = Directory.GetDirectories(path);
        folders = new ResFolder[dirs.Length];
        for (int i = 0; i < folders.Length; i++) folders[i] = new ResFolder(this, dirs[i].Substring(path.Length));
    }
 private void RemoveDependencies(AgentManifest mans)
 {
     if (mans.hasResources())
     {
         ResFolder resfolder = new ResFolder(mans.ResFolder);
         resfolder.ClearHierarchyFrom(Manifest.ResFolder);
     }
     ResFolder libfolder = new ResFolder(mans.LibraryFolder);
     libfolder.ClearHierarchyFrom(Manifest.LibsFolder);
     foreach (ManifestMetaData mmd in mans.MetaData)
     {
         if (manifest.application.hasMetaData(mmd.name))
             manifest.application.meta_data.Remove(manifest.application.getMetaData(mmd.name));
     }
 }
 private void AddPluginDependencies(AgentVersion plug)
 {
     foreach (ManifestMetaData source in plug.MetaData)
     {
         if (!manifest.application.hasMetaData(source.name))
             manifest.application.addMetaData().name = source.name;
         manifest.application.getMetaData(source.name).value = source.value;
         if (source.resource != "NOT SET")
             manifest.application.getMetaData(source.name).resource = source.resource;
     }
     foreach (ManifestActivity act in plug.ManifestSource.Activity)
     {
         if (!manifest.application.hasActivity(act.name))
             manifest.application.addActivity().name = act.name;
         CopyActivityData(act, manifest.application.getActivity(act.name));
     }
     foreach (ManifestMetaData hardmmd in plug.ManifestSource.MetaData)
     {
         if (ManifestResource.isResourceString(hardmmd.value))
         {
             if (!manifest.application.hasMetaData(hardmmd.name))
                 manifest.application.addMetaData().name = hardmmd.name;
             manifest.application.getMetaData(hardmmd.name).value = hardmmd.value;
             if (hardmmd.resource != "NOT SET")
                 manifest.application.getMetaData(hardmmd.name).resource = hardmmd.resource;
         }
     }
     foreach (ManifestPermission perm in plug.ManifestSource.Permission)
     {
         if (!manifest.hasPermission(perm.name)) manifest.addPermission().name = perm.name;
     }
     for (int i = 0; i < plug.ManifestSource.Strings.Count; i++)
     {
         if (strings.hasName(plug.Strings.strings[i].name))
             strings.setValue(plug.Strings.strings[i].name, plug.Strings.strings[i]);
         else
             strings.addString(plug.Strings.strings[i].name, plug.Strings.strings[i]);
     }
     if (!System.IO.Directory.Exists(Manifest.LibsFolder)) System.IO.Directory.CreateDirectory(Manifest.LibsFolder);
     CopyLibraryFiles(System.IO.Directory.GetFiles(plug.ManifestSource.LibraryFolder));
     if (plug.ManifestSource.hasResources())
     {
         ResFolder resfolder = new ResFolder(plug.ManifestSource.ResFolder);
         resfolder.CopyHierarchyTo(Manifest.ResFolder);
     }
 }
Esempio n. 6
0
 private void            AddPluginDependencies(AgentVersion plug)
 {
     foreach (ManifestMetaData source in plug.MetaData)
     {
         if (!manifest.application.hasMetaData(source.name))
         {
             manifest.application.addMetaData().name = source.name;
         }
         manifest.application.getMetaData(source.name).value = source.value;
         if (source.resource != "NOT SET")
         {
             manifest.application.getMetaData(source.name).resource = source.resource;
         }
     }
     foreach (ManifestActivity act in plug.ManifestSource.Activity)
     {
         if (!manifest.application.hasActivity(act.name))
         {
             manifest.application.addActivity().name = act.name;
         }
         CopyActivityData(act, manifest.application.getActivity(act.name));
     }
     foreach (ManifestMetaData hardmmd in plug.ManifestSource.MetaData)
     {
         if (ManifestResource.isResourceString(hardmmd.value))
         {
             if (!manifest.application.hasMetaData(hardmmd.name))
             {
                 manifest.application.addMetaData().name = hardmmd.name;
             }
             manifest.application.getMetaData(hardmmd.name).value = hardmmd.value;
             if (hardmmd.resource != "NOT SET")
             {
                 manifest.application.getMetaData(hardmmd.name).resource = hardmmd.resource;
             }
         }
     }
     foreach (ManifestPermission perm in plug.ManifestSource.Permission)
     {
         if (!manifest.hasPermission(perm.name))
         {
             manifest.addPermission().name = perm.name;
         }
     }
     for (int i = 0; i < plug.ManifestSource.Strings.Count; i++)
     {
         if (strings.hasName(plug.Strings.strings[i].name))
         {
             strings.setValue(plug.Strings.strings[i].name, plug.Strings.strings[i]);
         }
         else
         {
             strings.addString(plug.Strings.strings[i].name, plug.Strings.strings[i]);
         }
     }
     if (!System.IO.Directory.Exists(Manifest.LibsFolder))
     {
         System.IO.Directory.CreateDirectory(Manifest.LibsFolder);
     }
     CopyLibraryFiles(System.IO.Directory.GetFiles(plug.ManifestSource.LibraryFolder));
     if (plug.ManifestSource.hasResources())
     {
         ResFolder resfolder = new ResFolder(plug.ManifestSource.ResFolder);
         resfolder.CopyHierarchyTo(Manifest.ResFolder);
     }
 }
Esempio n. 7
0
    //必须约束T继承自UnityEngine.Object,当然由于没有歧义性,没有引用System,只写Object也行
    public T Load <T>(ResFolder folder, string path, bool toHash = false, bool isOneScene = false) where T : Object
    {
        StringBuilder totalPath = new StringBuilder();
        Hashtable     resHash   = new Hashtable();

        if (isOneScene)
        {
            resHash = ResHashScene;
        }
        else
        {
            resHash = ResHashScenes;
        }
        switch (folder)
        {
        case ResFolder.Forge:
            totalPath.Append("Forge/");
            break;

        case ResFolder.Res:
            totalPath.Append("Bag/Res/");
            break;

        case ResFolder.Sword:
            totalPath.Append("Bag/Sword/");
            break;

        case ResFolder.Skill:
            totalPath.Append("Bag/Skill/");
            break;

        case ResFolder.SkillAnd:
            totalPath.Append("Bag/SkillAnd/");
            break;

        case ResFolder.Ornament:
            totalPath.Append("Bag/Ornament/");
            break;

        case ResFolder.Item:
            totalPath.Append("Bag/Item/");
            break;

        case ResFolder.SelectSword:
            totalPath.Append("SelectSword/");
            break;

        case ResFolder.SelectSwordSlim:
            totalPath.Append("SelectSwordSlim/");
            break;

        case ResFolder.Head:
            totalPath.Append("Head/");
            break;

        case ResFolder.RankingList:
            totalPath.Append("RankingList/");
            break;

        case ResFolder.SwordFull:
            totalPath.Append("Bag/SwordFull/");
            break;

        case ResFolder.Team:
            totalPath.Append("TeamSword/");
            break;

        case ResFolder.TeamMark:
            totalPath.Append("Bag/TeamMark/");
            break;
        }
        totalPath.Append(path);
        if (!resHash.Contains(path))
        {
            T t = Resources.Load <T>(totalPath.ToString());
            if (toHash)
            {
                resHash[path] = t;
            }
            return(t);
        }
        else
        {
            return(resHash[path] as T);
        }
    }