public static void PreloadStateContent(CurrentlyActive state, string contentManagerName)
 {
     ContentManagerName = contentManagerName;
     if (state == CurrentlyActive.Active)
     {
     }
     else if (state == CurrentlyActive.Inactive)
     {
     }
 }
 public void StopStateInterpolation(CurrentlyActive stateToStop)
 {
     if (stateToStop == CurrentlyActive.Active)
     {
         SpriteInstance.RedRate   = 0;
         SpriteInstance.GreenRate = 0;
         SpriteInstance.BlueRate  = 0;
         SpriteInstance.AlphaRate = 0;
     }
     else if (stateToStop == CurrentlyActive.Inactive)
     {
         SpriteInstance.RedRate   = 0;
         SpriteInstance.GreenRate = 0;
         SpriteInstance.BlueRate  = 0;
         SpriteInstance.AlphaRate = 0;
     }
     CurrentCurrentlyActiveState = stateToStop;
 }
        public FlatRedBall.Instructions.Instruction InterpolateToState(CurrentlyActive stateToInterpolateTo, double secondsToTake)
        {
            if (stateToInterpolateTo == CurrentlyActive.Active)
            {
                SpriteInstance.RedRate   = (0.1f - SpriteInstance.Red) / (float)secondsToTake;
                SpriteInstance.GreenRate = (1f - SpriteInstance.Green) / (float)secondsToTake;
                SpriteInstance.BlueRate  = (1f - SpriteInstance.Blue) / (float)secondsToTake;
                SpriteInstance.AlphaRate = (255f - SpriteInstance.Alpha) / (float)secondsToTake;
            }
            else if (stateToInterpolateTo == CurrentlyActive.Inactive)
            {
                SpriteInstance.RedRate   = (1f - SpriteInstance.Red) / (float)secondsToTake;
                SpriteInstance.GreenRate = (0f - SpriteInstance.Green) / (float)secondsToTake;
                SpriteInstance.BlueRate  = (0f - SpriteInstance.Blue) / (float)secondsToTake;
                SpriteInstance.AlphaRate = (100f - SpriteInstance.Alpha) / (float)secondsToTake;
            }
            var instruction = new FlatRedBall.Instructions.DelegateInstruction <CurrentlyActive>(StopStateInterpolation, stateToInterpolateTo);

            instruction.TimeToExecute = FlatRedBall.TimeManager.CurrentTime + secondsToTake;
            this.Instructions.Add(instruction);
            return(instruction);
        }
 public void InterpolateBetween(CurrentlyActive firstState, CurrentlyActive secondState, float interpolationValue)
 {
     #if DEBUG
     if (float.IsNaN(interpolationValue))
     {
         throw new System.Exception("interpolationValue cannot be NaN");
     }
     #endif
     bool  setSpriteInstanceRed                  = true;
     float SpriteInstanceRedFirstValue           = 0;
     float SpriteInstanceRedSecondValue          = 0;
     bool  setSpriteInstanceGreen                = true;
     float SpriteInstanceGreenFirstValue         = 0;
     float SpriteInstanceGreenSecondValue        = 0;
     bool  setSpriteInstanceBlue                 = true;
     float SpriteInstanceBlueFirstValue          = 0;
     float SpriteInstanceBlueSecondValue         = 0;
     bool  setSpriteInstanceTextureScale         = true;
     float SpriteInstanceTextureScaleFirstValue  = 0;
     float SpriteInstanceTextureScaleSecondValue = 0;
     bool  setSpriteInstanceAlpha                = true;
     float SpriteInstanceAlphaFirstValue         = 0;
     float SpriteInstanceAlphaSecondValue        = 0;
     if (firstState == CurrentlyActive.Active)
     {
         SpriteInstanceRedFirstValue          = 0.1f;
         SpriteInstanceGreenFirstValue        = 1f;
         SpriteInstanceBlueFirstValue         = 1f;
         SpriteInstanceTextureScaleFirstValue = 1f;
         if (interpolationValue < 1)
         {
             this.SpriteInstanceAnimate = true;
         }
         SpriteInstanceAlphaFirstValue = 255f;
     }
     else if (firstState == CurrentlyActive.Inactive)
     {
         SpriteInstanceRedFirstValue          = 1f;
         SpriteInstanceGreenFirstValue        = 0f;
         SpriteInstanceBlueFirstValue         = 0f;
         SpriteInstanceTextureScaleFirstValue = 0.5f;
         if (interpolationValue < 1)
         {
             this.SpriteInstanceAnimate = false;
         }
         SpriteInstanceAlphaFirstValue = 100f;
     }
     if (secondState == CurrentlyActive.Active)
     {
         SpriteInstanceRedSecondValue          = 0.1f;
         SpriteInstanceGreenSecondValue        = 1f;
         SpriteInstanceBlueSecondValue         = 1f;
         SpriteInstanceTextureScaleSecondValue = 1f;
         if (interpolationValue >= 1)
         {
             this.SpriteInstanceAnimate = true;
         }
         SpriteInstanceAlphaSecondValue = 255f;
     }
     else if (secondState == CurrentlyActive.Inactive)
     {
         SpriteInstanceRedSecondValue          = 1f;
         SpriteInstanceGreenSecondValue        = 0f;
         SpriteInstanceBlueSecondValue         = 0f;
         SpriteInstanceTextureScaleSecondValue = 0.5f;
         if (interpolationValue >= 1)
         {
             this.SpriteInstanceAnimate = false;
         }
         SpriteInstanceAlphaSecondValue = 100f;
     }
     if (setSpriteInstanceRed)
     {
         SpriteInstanceRed = SpriteInstanceRedFirstValue * (1 - interpolationValue) + SpriteInstanceRedSecondValue * interpolationValue;
     }
     if (setSpriteInstanceGreen)
     {
         SpriteInstanceGreen = SpriteInstanceGreenFirstValue * (1 - interpolationValue) + SpriteInstanceGreenSecondValue * interpolationValue;
     }
     if (setSpriteInstanceBlue)
     {
         SpriteInstanceBlue = SpriteInstanceBlueFirstValue * (1 - interpolationValue) + SpriteInstanceBlueSecondValue * interpolationValue;
     }
     if (setSpriteInstanceTextureScale)
     {
         SpriteInstanceTextureScale = SpriteInstanceTextureScaleFirstValue * (1 - interpolationValue) + SpriteInstanceTextureScaleSecondValue * interpolationValue;
     }
     if (setSpriteInstanceAlpha)
     {
         SpriteInstanceAlpha = SpriteInstanceAlphaFirstValue * (1 - interpolationValue) + SpriteInstanceAlphaSecondValue * interpolationValue;
     }
     if (interpolationValue < 1)
     {
         mCurrentCurrentlyActiveState = firstState;
     }
     else
     {
         mCurrentCurrentlyActiveState = secondState;
     }
 }
Example #5
0
 public static bool AreEqual(CurrentlyActive expected, CurrentlyActive actual)
 {
     Assert.NotNull(actual);
     Assert.AreEqual(expected.StartDate, actual.StartDate);
     return(true);
 }