private void RebuildOverrides(KAnimFile kanim_file)
    {
        bool flag = false;

        overrideAnims.Clear();
        for (int i = 0; i < overrideAnimFiles.Count; i++)
        {
            OverrideAnimFileData overrideAnimFileData = overrideAnimFiles[i];
            KAnimFileData        data = overrideAnimFileData.file.GetData();
            for (int j = 0; j < data.animCount; j++)
            {
                KAnim.Anim anim = data.GetAnim(j);
                if (anim.animFile.hashName != data.hashName)
                {
                    Debug.LogError($"How did we get an anim from another file? [{data.name}] != [{anim.animFile.name}] for anim [{j}]");
                }
                AnimLookupData value = default(AnimLookupData);
                value.animIndex = anim.index;
                HashedString hashedString = new HashedString(anim.name);
                if (!overrideAnims.ContainsKey(hashedString))
                {
                    overrideAnims[hashedString] = value;
                }
                if (curAnim != null && curAnim.hash == hashedString && (UnityEngine.Object)overrideAnimFileData.file == (UnityEngine.Object)kanim_file)
                {
                    flag = true;
                }
            }
        }
        if (flag)
        {
            Restart(curAnim.name, mode, playSpeed, 0f);
        }
    }
 public void RemoveAnimOverrides(KAnimFile kanim_file)
 {
     Debug.Assert((UnityEngine.Object)kanim_file != (UnityEngine.Object)null);
     if (kanim_file.GetData().build != null && kanim_file.GetData().build.symbols.Length > 0)
     {
         SymbolOverrideController component = GetComponent <SymbolOverrideController>();
         DebugUtil.Assert((UnityEngine.Object)component != (UnityEngine.Object)null, "Anim overrides containing additional symbols require a symbol override controller.");
         component.TryRemoveBuildOverride(kanim_file.GetData(), 0);
     }
     for (int i = 0; i < overrideAnimFiles.Count; i++)
     {
         OverrideAnimFileData overrideAnimFileData = overrideAnimFiles[i];
         if ((UnityEngine.Object)overrideAnimFileData.file == (UnityEngine.Object)kanim_file)
         {
             overrideAnimFiles.RemoveAt(i);
             break;
         }
     }
     RebuildOverrides(kanim_file);
 }