コード例 #1
0
 public void InterpolateBetween(VariableState firstState, VariableState secondState, float interpolationValue)
 {
         #if DEBUG
     if (float.IsNaN(interpolationValue))
     {
         throw new System.Exception("interpolationValue cannot be NaN");
     }
         #endif
     bool setColoredFrameInstanceCurrentColorCategoryStateFirstValue  = false;
     bool setColoredFrameInstanceCurrentColorCategoryStateSecondValue = false;
     Pirates.GumRuntimes.DefaultForms.ColoredFrameRuntime.ColorCategory ColoredFrameInstanceCurrentColorCategoryStateFirstValue  = Pirates.GumRuntimes.DefaultForms.ColoredFrameRuntime.ColorCategory.Gray;
     Pirates.GumRuntimes.DefaultForms.ColoredFrameRuntime.ColorCategory ColoredFrameInstanceCurrentColorCategoryStateSecondValue = Pirates.GumRuntimes.DefaultForms.ColoredFrameRuntime.ColorCategory.Gray;
     bool  setColoredFrameInstanceHeightFirstValue  = false;
     bool  setColoredFrameInstanceHeightSecondValue = false;
     float ColoredFrameInstanceHeightFirstValue     = 0;
     float ColoredFrameInstanceHeightSecondValue    = 0;
     bool  setColoredFrameInstanceWidthFirstValue   = false;
     bool  setColoredFrameInstanceWidthSecondValue  = false;
     float ColoredFrameInstanceWidthFirstValue      = 0;
     float ColoredFrameInstanceWidthSecondValue     = 0;
     bool  setColoredFrameInstanceXFirstValue       = false;
     bool  setColoredFrameInstanceXSecondValue      = false;
     float ColoredFrameInstanceXFirstValue          = 0;
     float ColoredFrameInstanceXSecondValue         = 0;
     bool  setColoredFrameInstanceYFirstValue       = false;
     bool  setColoredFrameInstanceYSecondValue      = false;
     float ColoredFrameInstanceYFirstValue          = 0;
     float ColoredFrameInstanceYSecondValue         = 0;
     bool  setHeightFirstValue  = false;
     bool  setHeightSecondValue = false;
     float HeightFirstValue     = 0;
     float HeightSecondValue    = 0;
     bool  setWidthFirstValue   = false;
     bool  setWidthSecondValue  = false;
     float WidthFirstValue      = 0;
     float WidthSecondValue     = 0;
     switch (firstState)
     {
     case  VariableState.Default:
         setColoredFrameInstanceCurrentColorCategoryStateFirstValue = true;
         ColoredFrameInstanceCurrentColorCategoryStateFirstValue    = Pirates.GumRuntimes.DefaultForms.ColoredFrameRuntime.ColorCategory.TransparentBlack;
         setColoredFrameInstanceHeightFirstValue = true;
         ColoredFrameInstanceHeightFirstValue    = 0f;
         if (interpolationValue < 1)
         {
             this.ColoredFrameInstance.HeightUnits = Gum.DataTypes.DimensionUnitType.RelativeToContainer;
         }
         setColoredFrameInstanceWidthFirstValue = true;
         ColoredFrameInstanceWidthFirstValue    = 0f;
         if (interpolationValue < 1)
         {
             this.ColoredFrameInstance.WidthUnits = Gum.DataTypes.DimensionUnitType.RelativeToContainer;
         }
         setColoredFrameInstanceXFirstValue = true;
         ColoredFrameInstanceXFirstValue    = 0f;
         if (interpolationValue < 1)
         {
             this.ColoredFrameInstance.XOrigin = RenderingLibrary.Graphics.HorizontalAlignment.Center;
         }
         if (interpolationValue < 1)
         {
             this.ColoredFrameInstance.XUnits = Gum.Converters.GeneralUnitType.PixelsFromMiddle;
         }
         setColoredFrameInstanceYFirstValue = true;
         ColoredFrameInstanceYFirstValue    = 0f;
         if (interpolationValue < 1)
         {
             this.ColoredFrameInstance.YOrigin = RenderingLibrary.Graphics.VerticalAlignment.Center;
         }
         if (interpolationValue < 1)
         {
             this.ColoredFrameInstance.YUnits = Gum.Converters.GeneralUnitType.PixelsFromMiddle;
         }
         setHeightFirstValue = true;
         HeightFirstValue    = 300f;
         setWidthFirstValue  = true;
         WidthFirstValue     = 300f;
         break;
     }
     switch (secondState)
     {
     case  VariableState.Default:
         setColoredFrameInstanceCurrentColorCategoryStateSecondValue = true;
         ColoredFrameInstanceCurrentColorCategoryStateSecondValue    = Pirates.GumRuntimes.DefaultForms.ColoredFrameRuntime.ColorCategory.TransparentBlack;
         setColoredFrameInstanceHeightSecondValue = true;
         ColoredFrameInstanceHeightSecondValue    = 0f;
         if (interpolationValue >= 1)
         {
             this.ColoredFrameInstance.HeightUnits = Gum.DataTypes.DimensionUnitType.RelativeToContainer;
         }
         setColoredFrameInstanceWidthSecondValue = true;
         ColoredFrameInstanceWidthSecondValue    = 0f;
         if (interpolationValue >= 1)
         {
             this.ColoredFrameInstance.WidthUnits = Gum.DataTypes.DimensionUnitType.RelativeToContainer;
         }
         setColoredFrameInstanceXSecondValue = true;
         ColoredFrameInstanceXSecondValue    = 0f;
         if (interpolationValue >= 1)
         {
             this.ColoredFrameInstance.XOrigin = RenderingLibrary.Graphics.HorizontalAlignment.Center;
         }
         if (interpolationValue >= 1)
         {
             this.ColoredFrameInstance.XUnits = Gum.Converters.GeneralUnitType.PixelsFromMiddle;
         }
         setColoredFrameInstanceYSecondValue = true;
         ColoredFrameInstanceYSecondValue    = 0f;
         if (interpolationValue >= 1)
         {
             this.ColoredFrameInstance.YOrigin = RenderingLibrary.Graphics.VerticalAlignment.Center;
         }
         if (interpolationValue >= 1)
         {
             this.ColoredFrameInstance.YUnits = Gum.Converters.GeneralUnitType.PixelsFromMiddle;
         }
         setHeightSecondValue = true;
         HeightSecondValue    = 300f;
         setWidthSecondValue  = true;
         WidthSecondValue     = 300f;
         break;
     }
     if (setColoredFrameInstanceCurrentColorCategoryStateFirstValue && setColoredFrameInstanceCurrentColorCategoryStateSecondValue)
     {
         ColoredFrameInstance.InterpolateBetween(ColoredFrameInstanceCurrentColorCategoryStateFirstValue, ColoredFrameInstanceCurrentColorCategoryStateSecondValue, interpolationValue);
     }
     if (setColoredFrameInstanceHeightFirstValue && setColoredFrameInstanceHeightSecondValue)
     {
         ColoredFrameInstance.Height = ColoredFrameInstanceHeightFirstValue * (1 - interpolationValue) + ColoredFrameInstanceHeightSecondValue * interpolationValue;
     }
     if (setColoredFrameInstanceWidthFirstValue && setColoredFrameInstanceWidthSecondValue)
     {
         ColoredFrameInstance.Width = ColoredFrameInstanceWidthFirstValue * (1 - interpolationValue) + ColoredFrameInstanceWidthSecondValue * interpolationValue;
     }
     if (setColoredFrameInstanceXFirstValue && setColoredFrameInstanceXSecondValue)
     {
         ColoredFrameInstance.X = ColoredFrameInstanceXFirstValue * (1 - interpolationValue) + ColoredFrameInstanceXSecondValue * interpolationValue;
     }
     if (setColoredFrameInstanceYFirstValue && setColoredFrameInstanceYSecondValue)
     {
         ColoredFrameInstance.Y = ColoredFrameInstanceYFirstValue * (1 - interpolationValue) + ColoredFrameInstanceYSecondValue * interpolationValue;
     }
     if (setHeightFirstValue && setHeightSecondValue)
     {
         Height = HeightFirstValue * (1 - interpolationValue) + HeightSecondValue * interpolationValue;
     }
     if (setWidthFirstValue && setWidthSecondValue)
     {
         Width = WidthFirstValue * (1 - interpolationValue) + WidthSecondValue * interpolationValue;
     }
     if (interpolationValue < 1)
     {
         mCurrentVariableState = firstState;
     }
     else
     {
         mCurrentVariableState = secondState;
     }
 }
コード例 #2
0
 public override void StopAnimations()
 {
     base.StopAnimations();
     ColoredFrameInstance.StopAnimations();
 }