Esempio n. 1
0
    public bool AddAnimFile(GroupFile gf, AnimCommandFile akf, KAnimFile file)
    {
        Debug.Assert(gf != null);
        Debug.Assert((UnityEngine.Object)file != (UnityEngine.Object)null, gf.groupID);
        Debug.Assert(akf != null, gf.groupID);
        int groupIndex = AddGroup(akf, gf, file);

        return(AddFile(groupIndex, file));
    }
Esempio n. 2
0
    public AddModResult AddAnimMod(GroupFile gf, AnimCommandFile akf, KAnimFile file)
    {
        Debug.Assert(gf != null);
        Debug.Assert((UnityEngine.Object)file != (UnityEngine.Object)null, gf.groupID);
        Debug.Assert(akf != null, gf.groupID);
        int    index = AddGroup(akf, gf, file);
        string name  = file.GetData().name;
        int    num   = groups[index].files.FindIndex((KAnimFile candidate) => (UnityEngine.Object)candidate != (UnityEngine.Object)null && candidate.GetData().name == name);

        if (num == -1)
        {
            groups[index].files.Add(file);
            return(AddModResult.Added);
        }
        groups[index].files[num].mod = file.mod;
        return(AddModResult.Replaced);
    }
    public static KAnimFile AddKAnim(string name, TextAsset anim_file, TextAsset build_file, IList <Texture2D> textures)
    {
        KAnimFile kAnimFile = ScriptableObject.CreateInstance <KAnimFile>();

        kAnimFile.Initialize(anim_file, build_file, textures);
        kAnimFile.name = name;
        AnimCommandFile animCommandFile = new AnimCommandFile();

        KAnimGroupFile.GroupFile groupFile = new KAnimGroupFile.GroupFile();
        groupFile.groupID          = animCommandFile.GetGroupName(kAnimFile);
        groupFile.commandDirectory = "assets/" + name;
        animCommandFile.AddGroupFile(groupFile);
        KAnimGroupFile groupFile2 = KAnimGroupFile.GetGroupFile();

        groupFile2.AddAnimFile(groupFile, animCommandFile, kAnimFile);
        Assets.ModLoadedKAnims.Add(kAnimFile);
        return(kAnimFile);
    }
    public static AnimCommandFile GetParseCommands(string path)
    {
        string       fullName = Directory.GetParent(path).FullName;
        HashedString key      = new HashedString(fullName);

        if (Get().commandFiles.ContainsKey(key))
        {
            return(instance.commandFiles[key]);
        }
        string text = Path.Combine(fullName, ANIM_COMMAND_FILE);

        if (File.Exists(text))
        {
            AnimCommandFile animCommandFile = YamlIO.LoadFile <AnimCommandFile>(text, null, null);
            animCommandFile.directory  = "Assets/anim/" + Directory.GetParent(path).Name;
            instance.commandFiles[key] = animCommandFile;
            return(animCommandFile);
        }
        return(null);
    }
    public static KAnimFile AddKAnimMod(string name, KAnimFile.Mod anim_mod)
    {
        KAnimFile kAnimFile = ScriptableObject.CreateInstance <KAnimFile>();

        kAnimFile.mod  = anim_mod;
        kAnimFile.name = name;
        AnimCommandFile animCommandFile = new AnimCommandFile();

        KAnimGroupFile.GroupFile groupFile = new KAnimGroupFile.GroupFile();
        groupFile.groupID          = animCommandFile.GetGroupName(kAnimFile);
        groupFile.commandDirectory = "assets/" + name;
        animCommandFile.AddGroupFile(groupFile);
        KAnimGroupFile groupFile2 = KAnimGroupFile.GetGroupFile();

        if (groupFile2.AddAnimMod(groupFile, animCommandFile, kAnimFile) == KAnimGroupFile.AddModResult.Added)
        {
            Assets.ModLoadedKAnims.Add(kAnimFile);
        }
        return(kAnimFile);
    }
Esempio n. 6
0
    private int AddGroup(AnimCommandFile akf, GroupFile gf, KAnimFile file)
    {
        bool         flag    = akf.IsSwap(file);
        HashedString groupId = new HashedString(gf.groupID);
        int          num     = groups.FindIndex((Group t) => t.id == groupId);

        if (num == -1)
        {
            num = groups.Count;
            Group group = new Group(groupId);
            group.commandDirectory = akf.directory;
            group.maxGroupSize     = akf.MaxGroupSize;
            group.renderType       = akf.RendererType;
            int num2 = groups.FindIndex((Group t) => t.commandDirectory == group.commandDirectory);
            if (num2 == -1)
            {
                if (flag)
                {
                    if (!string.IsNullOrEmpty(akf.TargetBuild))
                    {
                        group.target = new HashedString(akf.TargetBuild);
                    }
                    if (group.renderType != KAnimBatchGroup.RendererType.DontRender)
                    {
                        group.renderType = KAnimBatchGroup.RendererType.DontRender;
                        group.swapTarget = new HashedString(akf.SwapTargetBuild);
                    }
                }
                if (akf.Type == AnimCommandFile.ConfigType.AnimOnly)
                {
                    group.target     = new HashedString(akf.TargetBuild);
                    group.renderType = KAnimBatchGroup.RendererType.AnimOnly;
                    group.animTarget = new HashedString(akf.AnimTargetBuild);
                    group.swapTarget = new HashedString(akf.SwapTargetBuild);
                }
            }
            groups.Add(group);
        }
        return(num);
    }