BDB.ModuleBdbAnimatedEngine.FixedUpdate C# (CSharp) Method

FixedUpdate() public method

public FixedUpdate ( ) : void
return void
        public void FixedUpdate()
        {
            if(HighLogic.LoadedSceneIsFlight)
            {
                engineIsOn = QueryEngineOn();
                deployed = deployed || engineIsOn;
                if (hasMultiEngine)
                    activeEngineName = multiController.mode;
            }

            foreach(var anim in animationStates)
            {
                if (engineIsOn && anim.normalizedTime < WaitForAnimation)
                {
                    anim.speed = 1;
                    if(HighLogic.LoadedSceneIsFlight)
                    {
                        if (hasMultiEngine)
                        {
                            foreach (ModuleEngines fx in engines)
                            {
                                if (fx.engineID == activeEngineName)
                                    fx.Shutdown();
                            }
                        }
                        else
                        {
                            foreach (ModuleEngines fx in engines)
                            {
                                fx.Shutdown();
                            }
                        }
                    }
                }

                if(HighLogic.LoadedSceneIsFlight &&  anim.normalizedTime >= WaitForAnimation && anim.speed > 0)
                {
                    if (hasMultiEngine)
                    {
                        foreach (ModuleEngines fx in engines)
                        {
                            if (fx.engineID == activeEngineName)
                                fx.Activate();
                        }
                    }
                    else
                    {
                        foreach (ModuleEngines fx in engines)
                        {
                            fx.Activate();
                        }
                    }
                }

                if(anim.normalizedTime>=1)
                {
                    anim.speed = 0;
                    anim.normalizedTime = 1;
                }

                if(anim.normalizedTime >=1 && !engineIsOn && !(HighLogic.LoadedSceneIsFlight && isOneShot))
                {
                    anim.speed = -1;

                }

                if(anim.normalizedTime <0)
                {
                    anim.speed = 0;
                    anim.normalizedTime = 0;
                }

            }
        }