mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
Display conditions - Added (empty) VMs and test views
This commit is contained in:
parent
2154822ce6
commit
d0781c00ef
40
src/Artemis.UI/ResourceDictionaries/DisplayConditions.xaml
Normal file
40
src/Artemis.UI/ResourceDictionaries/DisplayConditions.xaml
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:local="clr-namespace:Artemis.UI.ResourceDictionaries">
|
||||||
|
<Style x:Key="DisplayConditionButton" TargetType="{x:Type Button}" BasedOn="{StaticResource MaterialDesignFlatAccentBgButton}">
|
||||||
|
<Setter Property="Margin" Value="2 0" />
|
||||||
|
<Setter Property="Padding" Value="6 4" />
|
||||||
|
<Setter Property="Height" Value="22" />
|
||||||
|
<Setter Property="Foreground" Value="{DynamicResource PrimaryHueMidForegroundBrush}" />
|
||||||
|
<Setter Property="FontSize" Value="12" />
|
||||||
|
<Style.Triggers>
|
||||||
|
<EventTrigger RoutedEvent="Click">
|
||||||
|
<EventTrigger.Actions>
|
||||||
|
<BeginStoryboard>
|
||||||
|
<Storyboard>
|
||||||
|
<BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="ContextMenu.IsOpen">
|
||||||
|
<DiscreteBooleanKeyFrame KeyTime="0:0:0" Value="True"/>
|
||||||
|
</BooleanAnimationUsingKeyFrames>
|
||||||
|
</Storyboard>
|
||||||
|
</BeginStoryboard>
|
||||||
|
</EventTrigger.Actions>
|
||||||
|
</EventTrigger>
|
||||||
|
</Style.Triggers>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
<Style x:Key="DisplayConditionButtonLeftClickMenu" TargetType="{x:Type Button}" BasedOn="{StaticResource DisplayConditionButton}">
|
||||||
|
<Style.Triggers>
|
||||||
|
<EventTrigger RoutedEvent="Click">
|
||||||
|
<EventTrigger.Actions>
|
||||||
|
<BeginStoryboard>
|
||||||
|
<Storyboard>
|
||||||
|
<BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="ContextMenu.IsOpen">
|
||||||
|
<DiscreteBooleanKeyFrame KeyTime="0:0:0" Value="True"/>
|
||||||
|
</BooleanAnimationUsingKeyFrames>
|
||||||
|
</Storyboard>
|
||||||
|
</BeginStoryboard>
|
||||||
|
</EventTrigger.Actions>
|
||||||
|
</EventTrigger>
|
||||||
|
</Style.Triggers>
|
||||||
|
</Style>
|
||||||
|
</ResourceDictionary>
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
using Stylet;
|
||||||
|
|
||||||
|
namespace Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions.Abstract
|
||||||
|
{
|
||||||
|
public abstract class DisplayConditionViewModel : PropertyChangedBase
|
||||||
|
{
|
||||||
|
protected DisplayConditionViewModel()
|
||||||
|
{
|
||||||
|
Children = new BindableCollection<DisplayConditionViewModel>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public BindableCollection<DisplayConditionViewModel> Children { get; }
|
||||||
|
|
||||||
|
public abstract void Update();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,69 @@
|
|||||||
|
<UserControl x:Class="Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions.DisplayConditionGroupView"
|
||||||
|
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:Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions"
|
||||||
|
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
|
||||||
|
xmlns:s="https://github.com/canton7/Stylet"
|
||||||
|
mc:Ignorable="d"
|
||||||
|
d:DesignHeight="450" d:DesignWidth="800"
|
||||||
|
d:DataContext="{d:DesignInstance Type=local:DisplayConditionGroupViewModel, IsDesignTimeCreatable=False}">
|
||||||
|
<UserControl.Resources>
|
||||||
|
<ResourceDictionary Source="pack://application:,,,/Artemis.UI;component/ResourceDictionaries/DisplayConditions.xaml" />
|
||||||
|
</UserControl.Resources>
|
||||||
|
<Grid>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="*" />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Button Grid.Row="0"
|
||||||
|
Grid.Column="0"
|
||||||
|
Style="{StaticResource MaterialDesignIconForegroundButton}"
|
||||||
|
HorizontalAlignment="Left"
|
||||||
|
Visibility="{Binding IsRootGroup, Converter={x:Static s:BoolToVisibilityConverter.InverseInstance}, Mode=OneWay}"
|
||||||
|
Width="25"
|
||||||
|
Height="25"
|
||||||
|
Foreground="#E74C4C">
|
||||||
|
<materialDesign:PackIcon Kind="Close" Width="18" Height="18" />
|
||||||
|
</Button>
|
||||||
|
<Button Grid.Row="0"
|
||||||
|
Grid.Column="1"
|
||||||
|
Style="{StaticResource DisplayConditionButtonLeftClickMenu}"
|
||||||
|
Background="#E74C4C"
|
||||||
|
BorderBrush="#E74C4C"
|
||||||
|
Margin="3 1">
|
||||||
|
<Button.ContextMenu>
|
||||||
|
<ContextMenu>
|
||||||
|
<MenuItem Header="And" />
|
||||||
|
<MenuItem Header="Or" />
|
||||||
|
<MenuItem Header="And not" />
|
||||||
|
<MenuItem Header="Or not" />
|
||||||
|
</ContextMenu>
|
||||||
|
</Button.ContextMenu>
|
||||||
|
Or
|
||||||
|
</Button>
|
||||||
|
<Button Grid.Row="0"
|
||||||
|
Grid.Column="2"
|
||||||
|
Style="{StaticResource MaterialDesignIconForegroundButton}"
|
||||||
|
HorizontalAlignment="Left"
|
||||||
|
Foreground="#4CE758"
|
||||||
|
Width="25"
|
||||||
|
Height="25">
|
||||||
|
<materialDesign:PackIcon Kind="Add" Width="18" Height="18" />
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
<ItemsControl Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" ItemsSource="{Binding Children}">
|
||||||
|
<ItemsControl.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<ContentControl s:View.Model="{Binding}" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" IsTabStop="False" />
|
||||||
|
</DataTemplate>
|
||||||
|
</ItemsControl.ItemTemplate>
|
||||||
|
</ItemsControl>
|
||||||
|
</Grid>
|
||||||
|
</UserControl>
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
using Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions.Abstract;
|
||||||
|
|
||||||
|
namespace Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions
|
||||||
|
{
|
||||||
|
public class DisplayConditionGroupViewModel : DisplayConditionViewModel
|
||||||
|
{
|
||||||
|
private bool _isRootGroup;
|
||||||
|
|
||||||
|
public bool IsRootGroup
|
||||||
|
{
|
||||||
|
get => _isRootGroup;
|
||||||
|
set => SetAndNotify(ref _isRootGroup, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public DisplayConditionGroupViewModel()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Update()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,131 @@
|
|||||||
|
<UserControl x:Class="Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions.DisplayConditionPredicateView"
|
||||||
|
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:Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions"
|
||||||
|
xmlns:s="https://github.com/canton7/Stylet"
|
||||||
|
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
|
||||||
|
mc:Ignorable="d"
|
||||||
|
d:DesignHeight="450" d:DesignWidth="800"
|
||||||
|
d:DataContext="{d:DesignInstance Type=local:DisplayConditionPredicateViewModel, IsDesignTimeCreatable=False}">
|
||||||
|
<UserControl.Resources>
|
||||||
|
<ResourceDictionary Source="pack://application:,,,/Artemis.UI;component/ResourceDictionaries/DisplayConditions.xaml" />
|
||||||
|
</UserControl.Resources>
|
||||||
|
<Grid Margin="0 2">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Button Grid.Row="0"
|
||||||
|
Grid.Column="0"
|
||||||
|
Style="{StaticResource MaterialDesignIconForegroundButton}"
|
||||||
|
HorizontalAlignment="Left"
|
||||||
|
Foreground="#E74C4C"
|
||||||
|
Width="25"
|
||||||
|
Height="25">
|
||||||
|
<materialDesign:PackIcon Kind="Close" Width="18" Height="18" />
|
||||||
|
</Button>
|
||||||
|
<Button Grid.Row="0"
|
||||||
|
Grid.Column="1"
|
||||||
|
Style="{StaticResource DisplayConditionButtonLeftClickMenu}"
|
||||||
|
Background="{DynamicResource SecondaryAccentBrush}"
|
||||||
|
BorderBrush="{DynamicResource SecondaryAccentBrush}">
|
||||||
|
<Button.ContextMenu>
|
||||||
|
<ContextMenu>
|
||||||
|
<MenuItem Header="Equals">
|
||||||
|
<MenuItem.Icon>
|
||||||
|
<materialDesign:PackIcon Kind="Equal" />
|
||||||
|
</MenuItem.Icon>
|
||||||
|
</MenuItem>
|
||||||
|
<MenuItem Header="Does not equal">
|
||||||
|
<MenuItem.Icon>
|
||||||
|
<materialDesign:PackIcon Kind="NotEqualVariant" />
|
||||||
|
</MenuItem.Icon>
|
||||||
|
</MenuItem>
|
||||||
|
<MenuItem Header="Contains">
|
||||||
|
<MenuItem.Icon>
|
||||||
|
<materialDesign:PackIcon Kind="Contain" />
|
||||||
|
</MenuItem.Icon>
|
||||||
|
</MenuItem>
|
||||||
|
<MenuItem Header="Starts with">
|
||||||
|
<MenuItem.Icon>
|
||||||
|
<materialDesign:PackIcon Kind="ContainStart" />
|
||||||
|
</MenuItem.Icon>
|
||||||
|
</MenuItem>
|
||||||
|
<MenuItem Header="Ends with">
|
||||||
|
<MenuItem.Icon>
|
||||||
|
<materialDesign:PackIcon Kind="ContainEnd" />
|
||||||
|
</MenuItem.Icon>
|
||||||
|
</MenuItem>
|
||||||
|
<MenuItem Header="Does not contain">
|
||||||
|
<MenuItem.Icon>
|
||||||
|
<materialDesign:PackIcon Kind="FormatStrikethrough" />
|
||||||
|
</MenuItem.Icon>
|
||||||
|
</MenuItem>
|
||||||
|
<MenuItem Header="Is null">
|
||||||
|
<MenuItem.Icon>
|
||||||
|
<materialDesign:PackIcon Kind="Null" />
|
||||||
|
</MenuItem.Icon>
|
||||||
|
</MenuItem>
|
||||||
|
</ContextMenu>
|
||||||
|
</Button.ContextMenu>
|
||||||
|
Category
|
||||||
|
</Button>
|
||||||
|
<Button Grid.Row="0"
|
||||||
|
Grid.Column="2"
|
||||||
|
Style="{StaticResource DisplayConditionButtonLeftClickMenu}"
|
||||||
|
Background="#7B7B7B"
|
||||||
|
BorderBrush="#7B7B7B">
|
||||||
|
<Button.ContextMenu>
|
||||||
|
<ContextMenu>
|
||||||
|
<MenuItem Header="Equals">
|
||||||
|
<MenuItem.Icon>
|
||||||
|
<materialDesign:PackIcon Kind="Equal" />
|
||||||
|
</MenuItem.Icon>
|
||||||
|
</MenuItem>
|
||||||
|
<MenuItem Header="Does not equal">
|
||||||
|
<MenuItem.Icon>
|
||||||
|
<materialDesign:PackIcon Kind="NotEqualVariant" />
|
||||||
|
</MenuItem.Icon>
|
||||||
|
</MenuItem>
|
||||||
|
<MenuItem Header="Is less than">
|
||||||
|
<MenuItem.Icon>
|
||||||
|
<materialDesign:PackIcon Kind="LessThan" />
|
||||||
|
</MenuItem.Icon>
|
||||||
|
</MenuItem>
|
||||||
|
<MenuItem Header="Is greater than">
|
||||||
|
<MenuItem.Icon>
|
||||||
|
<materialDesign:PackIcon Kind="GreaterThan" />
|
||||||
|
</MenuItem.Icon>
|
||||||
|
</MenuItem>
|
||||||
|
<MenuItem Header="Is less than or equal to">
|
||||||
|
<MenuItem.Icon>
|
||||||
|
<materialDesign:PackIcon Kind="LessThanOrEqual" />
|
||||||
|
</MenuItem.Icon>
|
||||||
|
</MenuItem>
|
||||||
|
<MenuItem Header="Is greater than or equal to">
|
||||||
|
<MenuItem.Icon>
|
||||||
|
<materialDesign:PackIcon Kind="GreaterThanOrEqual" />
|
||||||
|
</MenuItem.Icon>
|
||||||
|
</MenuItem>
|
||||||
|
<MenuItem Header="Is null">
|
||||||
|
<MenuItem.Icon>
|
||||||
|
<materialDesign:PackIcon Kind="Null" />
|
||||||
|
</MenuItem.Icon>
|
||||||
|
</MenuItem>
|
||||||
|
</ContextMenu>
|
||||||
|
</Button.ContextMenu>
|
||||||
|
Equals
|
||||||
|
</Button>
|
||||||
|
<Button Grid.Row="0"
|
||||||
|
Grid.Column="3"
|
||||||
|
Style="{StaticResource DisplayConditionButton}"
|
||||||
|
Background="{DynamicResource PrimaryHueMidBrush}"
|
||||||
|
BorderBrush="{DynamicResource PrimaryHueMidBrush}">
|
||||||
|
Video Players
|
||||||
|
</Button>
|
||||||
|
</Grid>
|
||||||
|
</UserControl>
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
using Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions.Abstract;
|
||||||
|
|
||||||
|
namespace Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions
|
||||||
|
{
|
||||||
|
public class DisplayConditionPredicateViewModel : DisplayConditionViewModel
|
||||||
|
{
|
||||||
|
public DisplayConditionPredicateViewModel()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Update()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,10 +0,0 @@
|
|||||||
<UserControl x:Class="Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions.DisplayConditionView"
|
|
||||||
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:Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions"
|
|
||||||
mc:Ignorable="d"
|
|
||||||
d:DesignHeight="450" d:DesignWidth="800">
|
|
||||||
<Grid />
|
|
||||||
</UserControl>
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
namespace Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions
|
|
||||||
{
|
|
||||||
public class DisplayConditionViewModel
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -5,25 +5,31 @@
|
|||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:local="clr-namespace:Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions"
|
xmlns:local="clr-namespace:Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions"
|
||||||
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
|
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
|
||||||
|
xmlns:s="https://github.com/canton7/Stylet"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
d:DesignHeight="450" d:DesignWidth="800">
|
d:DesignHeight="450" d:DesignWidth="800">
|
||||||
<Grid>
|
<Grid>
|
||||||
<StackPanel>
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="*" />
|
||||||
|
<RowDefinition Height="40" />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
<TextBlock Style="{StaticResource MaterialDesignSubtitle1TextBlock}" Margin="10 5 0 -4">
|
<TextBlock Style="{StaticResource MaterialDesignSubtitle1TextBlock}" Margin="10 5 0 -4">
|
||||||
Display conditions
|
Display conditions
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<Separator Style="{StaticResource MaterialDesignDarkSeparator}" Margin="8 0" />
|
<Separator Grid.Row="1" Style="{StaticResource MaterialDesignDarkSeparator}" Margin="8 0" />
|
||||||
|
|
||||||
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Top" Margin="16">
|
<Grid Grid.Row="2">
|
||||||
<materialDesign:PackIcon Kind="CodeNotEqual" Width="80" Height="80" HorizontalAlignment="Center" />
|
<ScrollViewer Margin="8" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
|
||||||
<TextBlock Style="{StaticResource MaterialDesignBody1TextBlock}" TextWrapping="Wrap" HorizontalAlignment="Center" Margin="0 15">
|
<ContentControl s:View.Model="{Binding RootGroup}" />
|
||||||
Conditions are not yet implemented
|
</ScrollViewer>
|
||||||
</TextBlock>
|
</Grid>
|
||||||
<TextBlock Style="{StaticResource MaterialDesignCaptionTextBlock}" TextWrapping="Wrap" HorizontalAlignment="Center">
|
|
||||||
Conditions will allow you to easily configure when a layer should be shown.<LineBreak /><LineBreak />
|
<StackPanel Grid.Row="3" VerticalAlignment="Center" HorizontalAlignment="Right" Orientation="Horizontal">
|
||||||
You'll also use this to set up how a layer reacts to its conditions being matched, like play the timeline once or keep repeating the timeline until the conditions are no longer matched.
|
<TextBlock Margin="10 0" VerticalAlignment="Center">Disabled</TextBlock>
|
||||||
</TextBlock>
|
<ToggleButton Style="{StaticResource MaterialDesignSwitchToggleButton}" ToolTip="Default ToggleButton Style" />
|
||||||
</StackPanel>
|
<TextBlock Margin="10 0 15 0" VerticalAlignment="Center">Enabled</TextBlock>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
</UserControl>
|
</UserControl>
|
||||||
@ -1,6 +1,27 @@
|
|||||||
namespace Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions
|
using Stylet;
|
||||||
|
|
||||||
|
namespace Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions
|
||||||
{
|
{
|
||||||
public class DisplayConditionsViewModel : ProfileEditorPanelViewModel
|
public class DisplayConditionsViewModel : ProfileEditorPanelViewModel
|
||||||
{
|
{
|
||||||
|
private DisplayConditionGroupViewModel _rootGroup;
|
||||||
|
|
||||||
|
public DisplayConditionGroupViewModel RootGroup
|
||||||
|
{
|
||||||
|
get => _rootGroup;
|
||||||
|
set => SetAndNotify(ref _rootGroup, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public DisplayConditionsViewModel()
|
||||||
|
{
|
||||||
|
RootGroup = new DisplayConditionGroupViewModel {IsRootGroup = true};
|
||||||
|
var subGroup = new DisplayConditionGroupViewModel();
|
||||||
|
|
||||||
|
RootGroup.Children.Add(new DisplayConditionPredicateViewModel());
|
||||||
|
RootGroup.Children.Add(new DisplayConditionPredicateViewModel());
|
||||||
|
RootGroup.Children.Add(subGroup);
|
||||||
|
subGroup.Children.Add(new DisplayConditionPredicateViewModel());
|
||||||
|
subGroup.Children.Add(new DisplayConditionPredicateViewModel());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -29,7 +29,7 @@ namespace Artemis.Plugins.Modules.General
|
|||||||
public List<PlayerInfo> PlayerInfosList { get; set; }
|
public List<PlayerInfo> PlayerInfosList { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class PlayerInfo : DataModel
|
public class PlayerInfo
|
||||||
{
|
{
|
||||||
[DataModelProperty(Name = "A test string", Description = "This is a test string that's not of any use outside testing!")]
|
[DataModelProperty(Name = "A test string", Description = "This is a test string that's not of any use outside testing!")]
|
||||||
public string TestString { get; set; }
|
public string TestString { get; set; }
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user