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)); }
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); }
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); }