RQ Overlay: оверлей заработка и статистики для Royal Quest
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
105
src/RQOverlay/Views/SessionView.xaml
Normal file
105
src/RQOverlay/Views/SessionView.xaml
Normal file
@@ -0,0 +1,105 @@
|
||||
<UserControl x:Class="RQOverlay.Views.SessionView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:RQOverlay"
|
||||
xmlns:p="clr-namespace:RQOverlay.Plugins">
|
||||
<!-- DataContext — SessionViewModel -->
|
||||
<UserControl.Resources>
|
||||
<local:BoolToVis x:Key="Vis" />
|
||||
</UserControl.Resources>
|
||||
|
||||
<ScrollViewer VerticalScrollBarVisibility="Auto">
|
||||
<StackPanel Margin="0,0,10,0">
|
||||
|
||||
<!-- Заголовок -->
|
||||
<Grid Margin="0,0,0,18">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<StackPanel>
|
||||
<TextBlock Text="Сессия" Style="{StaticResource HeadingText}" FontSize="24" />
|
||||
<TextBlock Foreground="{DynamicResource TextFaint}" Margin="0,2,0,0">
|
||||
<Run Text="идёт" /> <Run Text="{Binding Elapsed, Mode=OneWay}" FontFamily="{DynamicResource NumFont}" Foreground="{DynamicResource TextDim}" />
|
||||
</TextBlock>
|
||||
</StackPanel>
|
||||
<Button Grid.Column="1" Style="{StaticResource FlatButton}" Content="Новая сессия" Click="Reset_Click"
|
||||
VerticalAlignment="Top" ToolTip="Обнулить счётчики сессии (цены и «всё время» не трогаются)" />
|
||||
</Grid>
|
||||
|
||||
<!-- Итог -->
|
||||
<Border Style="{StaticResource Card}" Padding="22,18" Margin="0,0,0,10"
|
||||
Visibility="{Binding HasGold, Converter={StaticResource Vis}}">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<StackPanel>
|
||||
<TextBlock Style="{StaticResource Caption}">
|
||||
<Run Text="{DynamicResource CaptionPrefix}" /><Run Text="ЗАРАБОТОК ЗА СЕССИЮ" />
|
||||
</TextBlock>
|
||||
<StackPanel Orientation="Horizontal" Margin="0,6,0,0">
|
||||
<TextBlock Text="{Binding Total}" Style="{StaticResource BigNum}" FontSize="40"
|
||||
Foreground="{DynamicResource Gold}" />
|
||||
<TextBlock Text="золота" Foreground="{DynamicResource TextFaint}" VerticalAlignment="Bottom" Margin="10,0,0,9" />
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="1" VerticalAlignment="Bottom" HorizontalAlignment="Right">
|
||||
<TextBlock Style="{StaticResource Caption}" HorizontalAlignment="Right">
|
||||
<Run Text="{DynamicResource CaptionPrefix}" /><Run Text="ТЕМП" />
|
||||
</TextBlock>
|
||||
<TextBlock Text="{Binding PerHour}" Style="{StaticResource BigNum}" FontSize="22"
|
||||
Foreground="{DynamicResource Text}" HorizontalAlignment="Right" Margin="0,4,0,4" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
<!-- Показатели плагинов: ровный ряд карточек -->
|
||||
<ItemsControl ItemsSource="{Binding Metrics}" Margin="-5,0,-5,0">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<UniformGrid Rows="1" />
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate DataType="p:Metric">
|
||||
<Border Style="{StaticResource Card}" Margin="5,0">
|
||||
<StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Ellipse Width="7" Height="7" Fill="{Binding Color}" Margin="0,0,8,0" VerticalAlignment="Center" />
|
||||
<TextBlock Text="{Binding Label}" Foreground="{DynamicResource TextDim}" TextTrimming="CharacterEllipsis" />
|
||||
</StackPanel>
|
||||
<TextBlock Text="{Binding ValueText}" Style="{StaticResource BigNum}" FontSize="24" Margin="0,8,0,0"
|
||||
Foreground="{DynamicResource Text}" />
|
||||
<TextBlock Text="{Binding RateText}" Style="{StaticResource Num}" FontSize="12"
|
||||
Foreground="{DynamicResource TextFaint}" Margin="0,2,0,0" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
|
||||
<!-- Ручная корректировка -->
|
||||
<Border Style="{StaticResource Card}" Margin="0,10,0,24">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="140" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="Корректировка" VerticalAlignment="Center" Margin="0,0,14,0" />
|
||||
<TextBox Grid.Column="1" Style="{StaticResource DarkBox}" HorizontalContentAlignment="Right"
|
||||
FontFamily="{DynamicResource NumFont}"
|
||||
Text="{Binding AdjustmentText, UpdateSourceTrigger=PropertyChanged, Delay=400}" />
|
||||
<TextBlock Grid.Column="2" Foreground="{DynamicResource TextFaint}" TextWrapping="Wrap" VerticalAlignment="Center"
|
||||
Margin="14,0,0,0"
|
||||
Text="Золото, добавляемое к итогу. Со знаком минус — вычитается: зелья, ремонт." />
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
<!-- Разделы плагинов (заполняются из кода) -->
|
||||
<StackPanel x:Name="Sections" />
|
||||
</StackPanel>
|
||||
</ScrollViewer>
|
||||
</UserControl>
|
||||
Reference in New Issue
Block a user