<UserControl
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:local="clr-namespace:ForzaUI"
    mc:Ignorable="d"
    x:Class="ForzaUI.HUDSkillTokenControl"
    Margin="0,37,0,0"
    VerticalAlignment="Top"
    HorizontalAlignment="Center" >

    <UserControl.Resources>

        <!-- Do not change the names of these Duration & EasingFunction resources; they are accessed directly by name from HUDSkillTokenControl. -->
        <Duration x:Key="A_Duration_TokenBar">0:0:2.0</Duration>
        <QuadraticEase x:Key="A_EasingFunction_TokenBar" EasingMode="EaseInOut"/>
        
        <ExponentialEase x:Key="A_EasingFunction_EaseIn" EasingMode="EaseIn"/>
        <ExponentialEase x:Key="A_EasingFunction_EaseOut" EasingMode="EaseOut"/>
        <ExponentialEase x:Key="A_EasingFunction_EaseInOut" EasingMode="EaseInOut"/>

        <CircleEase x:Key="A_EasingFunction_Circle_EaseOut" EasingMode="EaseOut"/>
        <CircleEase x:Key="A_EasingFunction_Circle_EaseIn" EasingMode="EaseIn"/>
        <CircleEase x:Key="A_EasingFunction_Circle_EaseInOut" EasingMode="EaseInOut"/>

        <ControlTemplate x:Key="A_ControlTemplate_TokenMultiplier">
            <Decorator x:Name="Root" RenderTransform="{StaticResource A_SkewTransform_HUD_Italics}" RenderTransformOrigin="0.5,0.5">
                <Grid x:Name="ScaleTransform" RenderTransformOrigin="0.5,0.5">
                    <Grid.RenderTransform>
                        <TransformGroup>
                            <ScaleTransform />
                            <SkewTransform/>
                            <RotateTransform Angle="{Binding TokenMultiplierNoiseOffsetAngle}"/>
                            <TranslateTransform X="{Binding TokenMultiplierNoiseOffsetX}" Y="{Binding TokenMultiplierNoiseOffsetY}"/>
                        </TransformGroup>
                    </Grid.RenderTransform>
                    <local:FZMaterial Color="#40000000" Preset="{StaticResource A_FZMaterialPresetRoundtangle_FlatPanel_InnerAll}" Margin="2,2,-2,-2"/>
                    <local:FZMaterial Color="#FFFFF539" Preset="{StaticResource A_FZMaterialPresetRoundtangle_FlatPanel_InnerAll}">
                        <StackPanel Orientation="Horizontal" VerticalAlignment="Bottom" Margin="5">
                            <local:FZTextBlock Text="{local:Loc RaceFeats.IDS_Multiplier_X}" Color="#FF404040" CapHeight="22" VerticalAlignment="Bottom"/>
                            <local:FZTextBlock Text="{Binding TokenMultiplier, NotifyOnTargetUpdated=True}" 
                                               Color="#FF404040" 
                                               CapHeight="32"/>
                        </StackPanel>
                    </local:FZMaterial>
                    <local:FZMaterial x:Name="MultiplierBackingSheen"
                                      Opacity="0" Margin="6,0,5,-2">
                        <local:FZMaterial.Effect>
                            <local:TextureMaskEffect>
                                <local:TextureMaskEffect.Texture>
                                    <ImageBrush ImageSource="/ForzaUI;component/Textures/Anthem/HUD/TokenMultiplierSheenTexture.png" />
                                </local:TextureMaskEffect.Texture>
                                <local:TextureMaskEffect.Mask>
                                    <ImageBrush ImageSource="/ForzaUI;component/Textures/Anthem/TextureMaskGradients/Diagonal_Gradient.png" />
                                </local:TextureMaskEffect.Mask>
                            </local:TextureMaskEffect>
                        </local:FZMaterial.Effect>
                    </local:FZMaterial>
                    <local:EventFire x:Name="EventFire" />
                </Grid>
                <local:EventFire.FzTriggers>
                    <BeginStoryboard local:EventFireTrigger.Event="SheenTrigger" x:Name="SheenStoryboard">
                        <local:UIStoryboard>
                            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)" Storyboard.TargetName="ScaleTransform">
                                <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="0"/>
                            </DoubleAnimationUsingKeyFrames>
                            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)" Storyboard.TargetName="ScaleTransform">
                                <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="0"/>
                            </DoubleAnimationUsingKeyFrames>
                            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)" Storyboard.TargetName="ScaleTransform">
                                <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="0"/>
                            </DoubleAnimationUsingKeyFrames>
                            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="MultiplierBackingSheen">
                                <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="1"/>
                            </DoubleAnimationUsingKeyFrames>
                            <SingleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Effect).(FadeInStart)" Storyboard.TargetName="MultiplierBackingSheen">
                                <EasingSingleKeyFrame KeyTime="0:0:0.0" Value="-0.75"/>
                                <EasingSingleKeyFrame KeyTime="0:0:1.0" Value="1" EasingFunction="{StaticResource A_EasingFunction_EaseInOut}"/>
                            </SingleAnimationUsingKeyFrames>
                            <SingleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Effect).(FadeInEnd)" Storyboard.TargetName="MultiplierBackingSheen">
                                <EasingSingleKeyFrame KeyTime="0:0:0.0" Value="-0.25"/>
                                <EasingSingleKeyFrame KeyTime="0:0:1.0" Value="1.5" EasingFunction="{StaticResource A_EasingFunction_EaseInOut}"/>
                            </SingleAnimationUsingKeyFrames>
                            <SingleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Effect).(FadeOutStart)" Storyboard.TargetName="MultiplierBackingSheen">
                                <EasingSingleKeyFrame KeyTime="0:0:0.0" Value="-0.5"/>
                                <EasingSingleKeyFrame KeyTime="0:0:1.0" Value="2.5" EasingFunction="{StaticResource A_EasingFunction_EaseInOut}"/>
                            </SingleAnimationUsingKeyFrames>
                            <SingleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Effect).(FadeOutEnd)" Storyboard.TargetName="MultiplierBackingSheen">
                                <EasingSingleKeyFrame KeyTime="0:0:0.0" Value="0"/>
                                <EasingSingleKeyFrame KeyTime="0:0:1.0" Value="3" EasingFunction="{StaticResource A_EasingFunction_EaseInOut}"/>
                            </SingleAnimationUsingKeyFrames>
                        </local:UIStoryboard>
                    </BeginStoryboard>
                </local:EventFire.FzTriggers>
            </Decorator>
            <ControlTemplate.Triggers>
                <EventTrigger RoutedEvent="Binding.TargetUpdated">
                    <local:BeginUIStoryboard>
                        <local:UIStoryboard DurationOverride="0:0:0.3">
                            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="ScaleTransform">
                                <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="1.2"/>
                                <EasingDoubleKeyFrame KeyTime="0:0:1.0" Value="1.00" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseIn}"/>
                            </DoubleAnimationUsingKeyFrames>
                            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="ScaleTransform">
                                <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="1.2"/>
                                <EasingDoubleKeyFrame KeyTime="0:0:1.0" Value="1.00" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseIn}"/>
                            </DoubleAnimationUsingKeyFrames>
                            <local:UIStoryboard.TriggerAnimation>
                                <local:RaiseFzEvent EventName="TokenMultiplierIncrement" local:TriggerAnimation.KeyTime="0:0:1.0"/>
                                <StopStoryboard Storyboard.TargetName="Root" BeginStoryboardName="SheenStoryboard" local:TriggerAnimation.KeyTime="0:0:0"/>
                            </local:UIStoryboard.TriggerAnimation>
                        </local:UIStoryboard>
                    </local:BeginUIStoryboard>
                </EventTrigger>
            </ControlTemplate.Triggers>
        </ControlTemplate>

    </UserControl.Resources>
    
    <Grid x:Name="OuterPanel">
        <Grid.Resources>

            <Storyboard x:Key="A_Storyboard_Hidden">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="TokenBar">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="TokenIcon">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
            </Storyboard>

            <Storyboard x:Key="A_Storyboard_CountPoints">
                <BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="DataContext.ReadyToStartCounting" Storyboard.TargetName="OuterPanel">
                    <DiscreteBooleanKeyFrame KeyTime="0:0:0.0" Value="True"/>
                </BooleanAnimationUsingKeyFrames>
                <StringAnimationUsingKeyFrames Storyboard.TargetName="CountPointsAudioEvent" Storyboard.TargetProperty="(local:AudioEvent.SoundName)">
                    <DiscreteStringKeyFrame KeyTime="0:0:0.0" Value="/Master/UI/DrivingSkills/HZ2_SFX_HUD_DrivingSkills_PointsCount_lp_01" />
                </StringAnimationUsingKeyFrames>
            </Storyboard>

            <Storyboard x:Key="A_Storyboard_AwardToken">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="TokenIcon">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
                <BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="DataContext.ReadyToStartNewBar" Storyboard.TargetName="OuterPanel">
                    <DiscreteBooleanKeyFrame KeyTime="0:0:0.0" Value="True"/>
                </BooleanAnimationUsingKeyFrames>
            </Storyboard>

            <Storyboard x:Key="A_Storyboard_CountTokens">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="LargeTokenIcon">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
                <BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="DataContext.ReadyToStartNewBar" Storyboard.TargetName="OuterPanel">
                    <DiscreteBooleanKeyFrame KeyTime="0:0:0.0" Value="True"/>
                </BooleanAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="TokenBar">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="TokenIcon">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="SmallTokenIcon">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="TokenCounter">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
            </Storyboard>

            <Storyboard x:Key="A_Storyboard_Finished">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="TokenElement">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
                <StringAnimationUsingKeyFrames Storyboard.TargetProperty="(local:EventFire.EventName)" Storyboard.TargetName="EventFire">
                    <DiscreteStringKeyFrame KeyTime="0:0:0.0" Value=""/>
                    <DiscreteStringKeyFrame KeyTime="0:0:0.05" Value="TokenStatusComplete"/>
                </StringAnimationUsingKeyFrames>
            </Storyboard>

            <Storyboard x:Key="A_Storyboard_Transition_HiddenToCountPoints">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="TokenElement">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0.2" Value="0.85"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="1.05" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseIn}"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.6" Value="1.00" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseIn}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="TokenElement">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0.2" Value="0.85"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="1.05" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseIn}"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.6" Value="1.00" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseIn}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="TokenElement">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="0"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0.2" Value="0"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
                <BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="DataContext.ReadyToStartCounting" Storyboard.TargetName="OuterPanel">
                    <DiscreteBooleanKeyFrame KeyTime="0:0:0.6" Value="True"/>
                </BooleanAnimationUsingKeyFrames>
            </Storyboard>

            <Storyboard x:Key="A_Storyboard_Transition_AnyToCountPoints">
                <BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="DataContext.ReadyToStartCounting" Storyboard.TargetName="OuterPanel">
                    <DiscreteBooleanKeyFrame KeyTime="0:0:0.5" Value="True"/>
                </BooleanAnimationUsingKeyFrames>
                <StringAnimationUsingKeyFrames Storyboard.TargetName="CountPointsAudioEvent" Storyboard.TargetProperty="(local:AudioEvent.SoundName)">
                    <DiscreteStringKeyFrame KeyTime="0:0:0.5" Value="/Master/UI/DrivingSkills/HZ2_SFX_HUD_DrivingSkills_PointsCount_lp_01" />
                </StringAnimationUsingKeyFrames>
            </Storyboard>

            <Storyboard x:Key="A_Storyboard_Transition_AnyToAwardToken">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="LargeTokenIcon">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0.60" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseOut}"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="1" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseOut}"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:2.0" Value="1"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:2.5" Value="0.475" EasingFunction="{StaticResource A_EasingFunction_EaseIn}"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:2.8" Value="0.5" EasingFunction="{StaticResource A_EasingFunction_EaseOut}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="LargeTokenIcon">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0.60" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseOut}"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="1" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseOut}"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:2.0" Value="1"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:2.5" Value="0.475" EasingFunction="{StaticResource A_EasingFunction_EaseIn}"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:2.8" Value="0.5" EasingFunction="{StaticResource A_EasingFunction_EaseOut}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="SmallTokenIcon">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:2.5" Value="0.95" />
                    <EasingDoubleKeyFrame KeyTime="0:0:2.8" Value="1.0" EasingFunction="{StaticResource A_EasingFunction_EaseOut}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="SmallTokenIcon">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:2.5" Value="0.95" />
                    <EasingDoubleKeyFrame KeyTime="0:0:2.8" Value="1.0" EasingFunction="{StaticResource A_EasingFunction_EaseOut}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="LargeTokenIcon">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="1"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:2.0" Value="1"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:2.5" Value="0" />
                    <DiscreteDoubleKeyFrame KeyTime="0:0:2.8" Value="0" />
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="SmallTokenIcon">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="0"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:2.5" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="TokenBar">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:2.0" Value="0"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:2.5" Value="1" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseIn}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="LargeTokenGlowSoft">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="2"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:2.0" Value="0" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseOut}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="LargeTokenGlowSoft">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0.60" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseOut}"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="1" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseOut}"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:2.0" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="LargeTokenGlowSoft">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0.60" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseOut}"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="1" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseOut}"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:2.0" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="TokenSilhouette">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:1.0" Value="1"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:2.0" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
                <SingleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Effect).(FadeInStart)" Storyboard.TargetName="TokenSilhouette">
                    <DiscreteSingleKeyFrame KeyTime="0:0:1.0" Value="-0.125"/>
                    <EasingSingleKeyFrame KeyTime="0:0:2.0" Value="0.750" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseInOut}"/>
                </SingleAnimationUsingKeyFrames>
                <SingleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Effect).(FadeInEnd)" Storyboard.TargetName="TokenSilhouette">
                    <DiscreteSingleKeyFrame KeyTime="0:0:1.0" Value="0"/>
                    <EasingSingleKeyFrame KeyTime="0:0:2.0" Value="0.875" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseInOut}"/>
                </SingleAnimationUsingKeyFrames>
                <SingleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Effect).(FadeOutStart)" Storyboard.TargetName="TokenSilhouette">
                    <DiscreteSingleKeyFrame KeyTime="0:0:1.0" Value="0.125"/>
                    <EasingSingleKeyFrame KeyTime="0:0:2.0" Value="0.875" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseInOut}"/>
                </SingleAnimationUsingKeyFrames>
                <SingleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Effect).(FadeOutEnd)" Storyboard.TargetName="TokenSilhouette">
                    <DiscreteSingleKeyFrame KeyTime="0:0:1.0" Value="0.250"/>
                    <EasingSingleKeyFrame KeyTime="0:0:2.0" Value="1.0" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseInOut}"/>
                </SingleAnimationUsingKeyFrames>
                <BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="DataContext.ReadyToStartNewBar" Storyboard.TargetName="OuterPanel">
                    <DiscreteBooleanKeyFrame KeyTime="0:0:2.7" Value="True"/>
                </BooleanAnimationUsingKeyFrames>
                <StringAnimationUsingKeyFrames Storyboard.TargetName="AwardTokenAudioEvent" Storyboard.TargetProperty="(local:AudioEvent.SoundName)">
                    <DiscreteStringKeyFrame KeyTime="0:0:0" Value="/Master/UI/DrivingSkills/HZ2_SFX_HUD_DrivingSkills_SkillPointEarned_01" />
                </StringAnimationUsingKeyFrames>
            </Storyboard>

            <Storyboard x:Key="A_Storyboard_Transition_AnyToCountTokens">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="LargeTokenIcon">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0.60" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseOut}"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="1" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseOut}"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:2.0" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="LargeTokenIcon">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0.60" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseOut}"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="1" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseOut}"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:2.0" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="LargeTokenIcon">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="SmallTokenIcon">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="TokenBar">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="LargeTokenGlowSoft">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="2"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:2.0" Value="0" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseOut}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="LargeTokenGlowSoft">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0.60" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseOut}"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="1" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseOut}"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:2.0" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="LargeTokenGlowSoft">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0.60" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseOut}"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="1" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseOut}"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:2.0" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="TokenSilhouette">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:1.0" Value="1"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:2.0" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="TokenCounter">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="0"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0.4" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
                <SingleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Effect).(FadeInStart)" Storyboard.TargetName="TokenSilhouette">
                    <DiscreteSingleKeyFrame KeyTime="0:0:1.0" Value="-0.125"/>
                    <EasingSingleKeyFrame KeyTime="0:0:2.0" Value="0.750" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseInOut}"/>
                </SingleAnimationUsingKeyFrames>
                <SingleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Effect).(FadeInEnd)" Storyboard.TargetName="TokenSilhouette">
                    <DiscreteSingleKeyFrame KeyTime="0:0:1.0" Value="0"/>
                    <EasingSingleKeyFrame KeyTime="0:0:2.0" Value="0.875" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseInOut}"/>
                </SingleAnimationUsingKeyFrames>
                <SingleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Effect).(FadeOutStart)" Storyboard.TargetName="TokenSilhouette">
                    <DiscreteSingleKeyFrame KeyTime="0:0:1.0" Value="0.125"/>
                    <EasingSingleKeyFrame KeyTime="0:0:2.0" Value="0.875" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseInOut}"/>
                </SingleAnimationUsingKeyFrames>
                <SingleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Effect).(FadeOutEnd)" Storyboard.TargetName="TokenSilhouette">
                    <DiscreteSingleKeyFrame KeyTime="0:0:1.0" Value="0.250"/>
                    <EasingSingleKeyFrame KeyTime="0:0:2.0" Value="1.0" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseInOut}"/>
                </SingleAnimationUsingKeyFrames>
                <BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="DataContext.ReadyToStartNewBar" Storyboard.TargetName="OuterPanel">
                    <DiscreteBooleanKeyFrame KeyTime="0:0:2.7" Value="True"/>
                </BooleanAnimationUsingKeyFrames>
                <StringAnimationUsingKeyFrames Storyboard.TargetName="AwardTokenAudioEvent" Storyboard.TargetProperty="(local:AudioEvent.SoundName)">
                    <DiscreteStringKeyFrame KeyTime="0:0:0" Value="/Master/UI/DrivingSkills/HZ2_SFX_HUD_DrivingSkills_SkillPointEarned_01" />
                </StringAnimationUsingKeyFrames>
                <StringAnimationUsingKeyFrames Storyboard.TargetProperty="(local:EventFire.EventName)" Storyboard.TargetName="EventFire">
                    <DiscreteStringKeyFrame KeyTime="0:0:0.0" Value="" />
                    <DiscreteStringKeyFrame KeyTime="0:0:0.7" Value="TokenMultiplierIncrement" />
                </StringAnimationUsingKeyFrames>
            </Storyboard>

            <Storyboard x:Key="A_Storyboard_Transition_CountTokensToFinished">
                <StringAnimationUsingKeyFrames Storyboard.TargetProperty="(local:EventFire.EventName)" Storyboard.TargetName="EventFireSheenTrigger">
                    <DiscreteStringKeyFrame KeyTime="0:0:0" Value="SheenTrigger" />
                    <DiscreteStringKeyFrame KeyTime="0:0:1.5" Value="" />
                </StringAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="LargeTokenIcon">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="1"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:1.0" Value="1"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:1.5" Value="0.475" EasingFunction="{StaticResource A_EasingFunction_EaseIn}"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:1.8" Value="0.5" EasingFunction="{StaticResource A_EasingFunction_EaseOut}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="LargeTokenIcon">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="1"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:1.0" Value="1"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:1.5" Value="0.475" EasingFunction="{StaticResource A_EasingFunction_EaseIn}"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:1.8" Value="0.5" EasingFunction="{StaticResource A_EasingFunction_EaseOut}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="SmallTokenIcon">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:1.5" Value="0.95" />
                    <EasingDoubleKeyFrame KeyTime="0:0:1.8" Value="1.0" EasingFunction="{StaticResource A_EasingFunction_EaseOut}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="SmallTokenIcon">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:1.5" Value="0.95" />
                    <EasingDoubleKeyFrame KeyTime="0:0:1.8" Value="1.0" EasingFunction="{StaticResource A_EasingFunction_EaseOut}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="LargeTokenIcon">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="1"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:1.5" Value="0" />
                    <DiscreteDoubleKeyFrame KeyTime="0:0:1.8" Value="0" />
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="SmallTokenIcon">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="0"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:1.5" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="TokenBar">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:1.0" Value="0"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:1.5" Value="1" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseIn}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="TokenCounter">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="1"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:1.0" Value="1"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:1.5" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="TokenElement">
                    <EasingDoubleKeyFrame KeyTime="0:0:2.0" Value="1"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:2.5" Value="0.9" EasingFunction="{StaticResource A_EasingFunction_EaseIn}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="TokenElement">
                    <EasingDoubleKeyFrame KeyTime="0:0:2.0" Value="1"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:2.5" Value="0.9" EasingFunction="{StaticResource A_EasingFunction_EaseIn}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="TokenElement">
                    <EasingDoubleKeyFrame KeyTime="0:0:2.0" Value="1"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:2.5" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
                <StringAnimationUsingKeyFrames Storyboard.TargetName="FinishedAudioEvent" Storyboard.TargetProperty="(local:AudioEvent.SoundName)">
                    <DiscreteStringKeyFrame KeyTime="0:0:1.9" Value="" />
                    <DiscreteStringKeyFrame KeyTime="0:0:2.0" Value="/Master/UI/DrivingSkills/HZ2_SFX_HUD_DrivingSkills_SkillCounterDisappear_01" />
                </StringAnimationUsingKeyFrames>
                <StringAnimationUsingKeyFrames Storyboard.TargetProperty="(local:EventFire.EventName)" Storyboard.TargetName="EventFire">
                    <DiscreteStringKeyFrame KeyTime="0:0:2.45" Value=""/>
                    <DiscreteStringKeyFrame KeyTime="0:0:2.5" Value="TokenStatusComplete"/>
                </StringAnimationUsingKeyFrames>
            </Storyboard>

            <Storyboard x:Key="A_Storyboard_Transition_CountTokensToCountPoints">
                <StringAnimationUsingKeyFrames Storyboard.TargetProperty="(local:EventFire.EventName)" Storyboard.TargetName="EventFireSheenTrigger">
                    <DiscreteStringKeyFrame KeyTime="0:0:0" Value="SheenTrigger" />
                    <DiscreteStringKeyFrame KeyTime="0:0:1.5" Value="" />
                </StringAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="LargeTokenIcon">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="1"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:1.0" Value="1"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:1.5" Value="0.475" EasingFunction="{StaticResource A_EasingFunction_EaseIn}"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:1.8" Value="0.5" EasingFunction="{StaticResource A_EasingFunction_EaseOut}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="LargeTokenIcon">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="1"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:1.0" Value="1"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:1.5" Value="0.475" EasingFunction="{StaticResource A_EasingFunction_EaseIn}"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:1.8" Value="0.5" EasingFunction="{StaticResource A_EasingFunction_EaseOut}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="SmallTokenIcon">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:1.5" Value="0.95" />
                    <EasingDoubleKeyFrame KeyTime="0:0:1.8" Value="1.0" EasingFunction="{StaticResource A_EasingFunction_EaseOut}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="SmallTokenIcon">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:1.5" Value="0.95" />
                    <EasingDoubleKeyFrame KeyTime="0:0:1.8" Value="1.0" EasingFunction="{StaticResource A_EasingFunction_EaseOut}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="LargeTokenIcon">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="1"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:1.5" Value="0" />
                    <DiscreteDoubleKeyFrame KeyTime="0:0:1.8" Value="0" />
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="SmallTokenIcon">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="0"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:1.5" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="TokenBar">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="0"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:1.0" Value="0"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:1.5" Value="1" EasingFunction="{StaticResource A_EasingFunction_Circle_EaseIn}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="TokenCounter">
                    <EasingDoubleKeyFrame KeyTime="0:0:0.0" Value="1"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:1.0" Value="1"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:1.5" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
                <BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="DataContext.ReadyToStartCounting" Storyboard.TargetName="OuterPanel">
                    <DiscreteBooleanKeyFrame KeyTime="0:0:1.5" Value="True"/>
                </BooleanAnimationUsingKeyFrames>
                <StringAnimationUsingKeyFrames Storyboard.TargetName="CountPointsAudioEvent" Storyboard.TargetProperty="(local:AudioEvent.SoundName)">
                    <DiscreteStringKeyFrame KeyTime="0:0:1.5" Value="/Master/UI/DrivingSkills/HZ2_SFX_HUD_DrivingSkills_PointsCount_lp_01" />
                </StringAnimationUsingKeyFrames>
            </Storyboard>

            <Storyboard x:Key="A_Storyboard_Transition_AnyToFinished">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="TokenElement">
                    <EasingDoubleKeyFrame KeyTime="0:0:2.0" Value="1"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:2.5" Value="0.9" EasingFunction="{StaticResource A_EasingFunction_EaseIn}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="TokenElement">
                    <EasingDoubleKeyFrame KeyTime="0:0:2.0" Value="1"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:2.5" Value="0.9" EasingFunction="{StaticResource A_EasingFunction_EaseIn}"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="TokenElement">
                    <EasingDoubleKeyFrame KeyTime="0:0:2.0" Value="1"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:2.5" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
                <StringAnimationUsingKeyFrames Storyboard.TargetName="FinishedAudioEvent" Storyboard.TargetProperty="(local:AudioEvent.SoundName)">
                    <DiscreteStringKeyFrame KeyTime="0:0:1.9" Value="" />
                    <DiscreteStringKeyFrame KeyTime="0:0:2.0" Value="/Master/UI/DrivingSkills/HZ2_SFX_HUD_DrivingSkills_SkillCounterDisappear_01" />
                </StringAnimationUsingKeyFrames>
                <StringAnimationUsingKeyFrames Storyboard.TargetProperty="(local:EventFire.EventName)" Storyboard.TargetName="EventFire">
                    <DiscreteStringKeyFrame KeyTime="0:0:2.45" Value=""/>
                    <DiscreteStringKeyFrame KeyTime="0:0:2.5" Value="TokenStatusComplete"/>
                </StringAnimationUsingKeyFrames>
            </Storyboard>
        </Grid.Resources>

        <VisualStateManager.VisualStateGroups>
            <VisualStateGroup>
                <VisualState x:Name="Hidden" Storyboard="{StaticResource A_Storyboard_Hidden}"/>
                <VisualState x:Name="CountPoints" Storyboard="{StaticResource A_Storyboard_CountPoints}"/>
                <VisualState x:Name="AwardToken" Storyboard="{StaticResource A_Storyboard_AwardToken}"/>
                <VisualState x:Name="CountTokens" Storyboard="{StaticResource A_Storyboard_CountTokens}"/>
                <VisualState x:Name="Finished" Storyboard="{StaticResource A_Storyboard_Finished}"/>
                <VisualStateGroup.Transitions>
                    <VisualTransition From="Hidden" To="CountPoints" Storyboard="{StaticResource A_Storyboard_Transition_HiddenToCountPoints}"/>
                    <VisualTransition To="CountPoints" Storyboard="{StaticResource A_Storyboard_Transition_AnyToCountPoints}"/>
                    <VisualTransition To="AwardToken" Storyboard="{StaticResource A_Storyboard_Transition_AnyToAwardToken}"/>
                    <VisualTransition To="CountTokens" Storyboard="{StaticResource A_Storyboard_Transition_AnyToCountTokens}"/>
                    <VisualTransition To="Finished" Storyboard="{StaticResource A_Storyboard_Transition_AnyToFinished}"/>
                    <VisualTransition From="CountTokens" To="Finished" Storyboard="{StaticResource A_Storyboard_Transition_CountTokensToFinished}"/>
                    <VisualTransition From="CountTokens" To="CountPoints" Storyboard="{StaticResource A_Storyboard_Transition_CountTokensToCountPoints}"/>
                </VisualStateGroup.Transitions>
            </VisualStateGroup>
        </VisualStateManager.VisualStateGroups>

        <Grid VerticalAlignment="Center">
            <StackPanel Margin="0,0,0,0" x:Name="TokenElement" RenderTransformOrigin="0.5,0.5">
                <StackPanel.RenderTransform>
                        <TransformGroup>
                            <ScaleTransform/>
                            <SkewTransform/>
                            <RotateTransform/>
                            <TranslateTransform/>
                        </TransformGroup>
                    </StackPanel.RenderTransform>
                <Grid>
                    <Grid x:Name="TokenIcon" 
                      RenderTransformOrigin="0.5,0.5"
                      Width="64"
                      Height="64"
                      Opacity="1">
                        <Grid.RenderTransform>
                            <TransformGroup>
                                <ScaleTransform/>
                                <SkewTransform/>
                                <RotateTransform/>
                                <TranslateTransform/>
                            </TransformGroup>
                        </Grid.RenderTransform>
                        <local:FZMaterial x:Name="SmallTokenIcon" ImageSource="/ForzaUI;component/Textures/Anthem/HUD/SkillTokenIcon_Small.png" Width="64" Height="64" VerticalAlignment="Center" HorizontalAlignment="Center" RenderTransformOrigin="0.5,0.5">
                            <local:FZMaterial.RenderTransform>
                                <TransformGroup>
                                    <ScaleTransform/>
                                    <SkewTransform/>
                                    <RotateTransform/>
                                    <TranslateTransform/>
                                </TransformGroup>
                            </local:FZMaterial.RenderTransform>
                        </local:FZMaterial>
                        <local:FZMaterial x:Name="LargeTokenIcon" ImageSource="/ForzaUI;component/Textures/Anthem/HUD/SkillTokenIcon.png" Width="128" Height="128" VerticalAlignment="Center" HorizontalAlignment="Center" Opacity="0.0" RenderTransformOrigin="0.5,0.5">
                            <local:FZMaterial.RenderTransform>
                                <TransformGroup>
                                    <ScaleTransform/>
                                    <SkewTransform/>
                                    <RotateTransform/>
                                    <TranslateTransform/>
                                </TransformGroup>
                            </local:FZMaterial.RenderTransform>
                        </local:FZMaterial>
                        <local:FZMaterial x:Name="LargeTokenGlowSoft" ImageSource="/ForzaUI;component/Textures/Anthem/HUD/SkillTokenGlow.png" Width="156" Height="156" Margin="-14"  VerticalAlignment="Center" HorizontalAlignment="Center" Opacity="0.0" RenderTransformOrigin="0.5,0.5">
                            <local:FZMaterial.RenderTransform>
                                <TransformGroup>
                                    <ScaleTransform/>
                                    <SkewTransform/>
                                    <RotateTransform/>
                                    <TranslateTransform/>
                                </TransformGroup>
                            </local:FZMaterial.RenderTransform>
                        </local:FZMaterial>
                        <local:FZMaterial x:Name="TokenSilhouette"
                                      Width="100"
                                      Height="100"
                                      Opacity="0"
                                      RenderTransformOrigin="0.5,0.5"
                                      Margin="-18,-18,0,0"
                                      Preset="{StaticResource A_FZMaterialPresetAdditive}">
                            <local:FZMaterial.Resources>
                                <ImageBrush x:Key="A_Brush_TokenSilhouette" ImageSource="/ForzaUI;component/Textures/Anthem/HUD/SkillTokenSilhouetteIcon.png"/>
                                <ImageBrush x:Key="A_Brush_TokenMaskGradient" ImageSource="/ForzaUI;component/Textures/Anthem/TextureMaskGradients/Diagonal_Gradient.png"/>
                            </local:FZMaterial.Resources>
                            <local:FZMaterial.RenderTransform>
                                <TransformGroup>
                                    <ScaleTransform ScaleX="1.0" ScaleY="1.0"/>
                                    <SkewTransform/>
                                    <RotateTransform/>
                                    <TranslateTransform/>
                                </TransformGroup>
                            </local:FZMaterial.RenderTransform>
                            <local:FZMaterial.Effect>
                                <local:TextureMaskEffect Texture="{StaticResource A_Brush_TokenSilhouette}"
                                                     Mask="{StaticResource A_Brush_TokenMaskGradient}"/>
                            </local:FZMaterial.Effect>
                        </local:FZMaterial>
                    </Grid>
                    <local:FZMaterial x:Name="TokenBar" Width="125" Height="125" Color="{StaticResource A_Color_HUD_SkillsText}" RenderTransformOrigin="0.5,0.5" ImageSource="/ForzaUI;component/Textures/Anthem/HUD/SkillBarTipGlow.png">
                        <local:FZMaterial.Preset>


                            <local:FZMaterialPresetRadialBar  TargetRatio="1.0"
                                     ShadowIntensity="0.02"
                                     TipGlowFade="{Binding BarGlowOpacity}"
                                     AngleAmount="0.25"
                                     BarWidth="0.24"
                                     BackgroundColor="#55FFFFFF"
                                     Ratio="{Binding SliderPoints}"/>
                        </local:FZMaterial.Preset>
                        <local:FZMaterial.RenderTransform>
                            <TransformGroup>
                                <ScaleTransform/>
                                <SkewTransform/>
                                <RotateTransform Angle="180"/>
                                <TranslateTransform/>
                            </TransformGroup>
                        </local:FZMaterial.RenderTransform>
                    </local:FZMaterial>
                </Grid>
                <Control  x:Name="TokenCounter"  Template="{StaticResource A_ControlTemplate_TokenMultiplier}" Height="40" VerticalAlignment="Bottom" HorizontalAlignment="Center" Margin="0,6,0,0" Opacity="0"/>
            </StackPanel>
        </Grid>

        <local:AudioEvent x:Name="AwardTokenAudioEvent" />
        <local:AudioEvent x:Name="FinishedAudioEvent" />
        <local:AudioEvent x:Name="CountPointsAudioEvent" />
        <local:EventFire x:Name="EventFire" />
        <local:EventFire x:Name="EventFireSheenTrigger" TargetName="TokenCounter" />
    </Grid>

</UserControl>
