protected KAnimControllerBase()
 {
     KAnim.Anim.Frame invalidFrame = KAnim.Anim.Frame.InvalidFrame;
     curAnimFrameIdx = invalidFrame.idx;
     KAnim.Anim.Frame invalidFrame2 = KAnim.Anim.Frame.InvalidFrame;
     prevAnimFrame      = invalidFrame2.idx;
     eventManagerHandle = HandleVector <int> .InvalidHandle;
     overrideAnimFiles  = new List <OverrideAnimFileData>();
     DeepProfiler       = new DeepProfiler(false);
     playSpeed          = 1f;
     mode          = KAnim.PlayMode.Once;
     stopped       = true;
     animHeight    = 1f;
     animWidth     = 1f;
     _enabled      = true;
     hiddenSymbols = new List <KAnimHashedString>();
     anims         = new Dictionary <HashedString, AnimLookupData>();
     overrideAnims = new Dictionary <HashedString, AnimLookupData>();
     animQueue     = new Queue <AnimData>();
     fgLayer       = Grid.SceneLayer.NoLayer;
     base._002Ector();
     previousFrame       = -1;
     currentFrame        = -1;
     PlaySpeedMultiplier = 1f;
     synchronizer        = new KAnimSynchronizer(this);
     layering            = new KAnimLayering(this, fgLayer);
     isVisible           = true;
 }
 public KAnimLayering GetLayering()
 {
     if (layering == null && fgLayer != Grid.SceneLayer.NoLayer)
     {
         layering = new KAnimLayering(this, fgLayer);
     }
     return(layering);
 }
 protected virtual void OnDestroy()
 {
     animFiles         = null;
     curAnim           = null;
     curBuild          = null;
     synchronizer      = null;
     layering          = null;
     animQueue         = null;
     overrideAnims     = null;
     anims             = null;
     synchronizer      = null;
     layering          = null;
     overrideAnimFiles = null;
 }