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; } }
public static bool AreEqual(CurrentlyActive expected, CurrentlyActive actual) { Assert.NotNull(actual); Assert.AreEqual(expected.StartDate, actual.StartDate); return(true); }