
fixed most of issues with world creating/loading fixed log window lags fixed some compiler warnings fixed empty log files creating fixed logging performance added better logging of load process commands autocomplete in torch GUI chat in torch GUI now has entered history (like console, use up/down arrows) abstraction of instance manager session name now correctly displaying in torchSessionManager messages TorchSession now has loaded world property (as torch now has more control about world load process) now only dedicated config locks after session start
144 lines
9.0 KiB
XML
144 lines
9.0 KiB
XML
<UserControl x:Class="Torch.Server.Views.ConfigControl"
|
|
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:viewModels="clr-namespace:Torch.Server.ViewModels"
|
|
xmlns:managers="clr-namespace:Torch.Server.Managers"
|
|
xmlns:system="clr-namespace:System;assembly=mscorlib"
|
|
xmlns:validationRules="clr-namespace:Torch.Server.Views.ValidationRules"
|
|
xmlns:views="clr-namespace:Torch.Views;assembly=Torch"
|
|
mc:Ignorable="d">
|
|
<UserControl.Resources>
|
|
<ResourceDictionary>
|
|
<ResourceDictionary.MergedDictionaries>
|
|
<ResourceDictionary Source="Resources.xaml" />
|
|
</ResourceDictionary.MergedDictionaries>
|
|
</ResourceDictionary>
|
|
</UserControl.Resources>
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition />
|
|
</Grid.RowDefinitions>
|
|
<DockPanel Grid.Row="0">
|
|
<Label Content="World:" DockPanel.Dock="Left" />
|
|
<Button Content="Import World Config" Margin="3" Padding="3" DockPanel.Dock="Right" Click="ImportConfig_OnClick" ToolTip="Override the DS config with the one from the selected world." IsEnabled="{Binding ElementName=WorldList, Path=Items.Count, Mode=OneWay}"/>
|
|
<Button Content="New World" Margin="3" Padding="3" DockPanel.Dock="Right" Click="NewWorld_OnClick"/>
|
|
<ComboBox x:Name="WorldList" ItemsSource="{Binding Worlds}" SelectedItem="{Binding SelectedWorld}" Margin="3"
|
|
SelectionChanged="Selector_OnSelectionChanged">
|
|
<ComboBox.ItemTemplate>
|
|
<DataTemplate DataType="managers:WorldViewModel">
|
|
<StackPanel>
|
|
<StackPanel Orientation="Horizontal">
|
|
<Label Content="{Binding Checkpoint.SessionName}" FontWeight="Bold" Padding="0" />
|
|
<Label Content="{Binding WorldPath}" Padding="5,0,0,0" />
|
|
</StackPanel>
|
|
<StackPanel Orientation="Horizontal">
|
|
<Label Content="Size (KB): " Padding="0" />
|
|
<Label Content="{Binding WorldSizeKB}" Padding="0" />
|
|
<Label Content="Last saved: " Padding="5,0,0,0" />
|
|
<Label Content="{Binding Checkpoint.LastSaveTime}" Padding="0" />
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</DataTemplate>
|
|
</ComboBox.ItemTemplate>
|
|
</ComboBox>
|
|
</DockPanel>
|
|
<Grid Grid.Row="1">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="7*" />
|
|
<ColumnDefinition Width="10*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid Grid.Column="0">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
<ScrollViewer VerticalScrollBarVisibility="Auto" x:Name="DediConfigScrollViewer">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition />
|
|
</Grid.ColumnDefinitions>
|
|
<StackPanel Grid.Column="0" Margin="3" DockPanel.Dock="Left">
|
|
<Label Content="Server Name" />
|
|
<TextBox Text="{Binding ServerName}" Margin="3,0,3,3" Width="160" />
|
|
<Label Content="World Name" />
|
|
<TextBox Text="{Binding WorldName}" Margin="3,0,3,3" Width="160" />
|
|
<Label Content="Server Description" />
|
|
<TextBox Text="{Binding ServerDescription}" Margin="3,0,3,3" Width="160" Height="100"
|
|
AcceptsReturn="true" VerticalScrollBarVisibility="Auto"/>
|
|
<Label Content="Whitelist Group ID" />
|
|
<TextBox Margin="3,0,3,3" Width="160" Style="{StaticResource ValidatedTextBox}">
|
|
<TextBox.Text>
|
|
<Binding Path="GroupId" UpdateSourceTrigger="PropertyChanged"
|
|
ValidatesOnDataErrors="True" NotifyOnValidationError="True">
|
|
<Binding.ValidationRules>
|
|
<validationRules:NumberValidationRule />
|
|
</Binding.ValidationRules>
|
|
</Binding>
|
|
</TextBox.Text>
|
|
</TextBox>
|
|
<Label Content="Server IP" />
|
|
<StackPanel Orientation="Horizontal" Margin="3,0,3,3">
|
|
<TextBox Text="{Binding IP}" Width="100" Height="20" />
|
|
<Label Content=":" Width="12" />
|
|
<TextBox Text="{Binding Port}" Width="48" Height="20" />
|
|
</StackPanel>
|
|
<Label Content="Server Password"/>
|
|
<TextBox Text="{Binding Password}" Width="160"/>
|
|
<CheckBox IsChecked="{Binding PauseGameWhenEmpty}" Content="Pause When Empty" Margin="3" />
|
|
<CheckBox IsChecked="{Binding AutodetectDependencies}" Content="Auto Detect Dependencies" Margin="3" />
|
|
</StackPanel>
|
|
<StackPanel Grid.Column="1" Margin="3">
|
|
<Label Content="Administrators" />
|
|
<TextBox Text="{Binding Administrators, Converter={StaticResource ListConverterString}}"
|
|
Margin="3"
|
|
Height="100" AcceptsReturn="true" VerticalScrollBarVisibility="Auto" />
|
|
<Button Content="Edit Roles" Click="RoleEdit_Onlick" Margin="3"/>
|
|
<Label Content="Reserved Players" />
|
|
<TextBox Margin="3" Height="100" AcceptsReturn="true" VerticalScrollBarVisibility="Auto"
|
|
Style="{StaticResource ValidatedTextBox}">
|
|
<TextBox.Text>
|
|
<Binding Path="Reserved" UpdateSourceTrigger="PropertyChanged"
|
|
ValidatesOnDataErrors="True" NotifyOnValidationError="True"
|
|
Converter="{StaticResource ListConverterUInt64}">
|
|
<Binding.ValidationRules>
|
|
<validationRules:ListConverterValidationRule Type="system:UInt64" />
|
|
</Binding.ValidationRules>
|
|
</Binding>
|
|
</TextBox.Text>
|
|
</TextBox>
|
|
<Label Content="Banned Players" />
|
|
<TextBox Margin="3" Height="100" AcceptsReturn="true" VerticalScrollBarVisibility="Auto"
|
|
Style="{StaticResource ValidatedTextBox}">
|
|
<TextBox.Text>
|
|
<Binding Path="Banned" UpdateSourceTrigger="PropertyChanged"
|
|
ValidatesOnDataErrors="True" NotifyOnValidationError="True"
|
|
Converter="{StaticResource ListConverterUInt64}">
|
|
<Binding.ValidationRules>
|
|
<validationRules:ListConverterValidationRule Type="system:UInt64" />
|
|
</Binding.ValidationRules>
|
|
</Binding>
|
|
</TextBox.Text>
|
|
</TextBox>
|
|
</StackPanel>
|
|
</Grid>
|
|
</ScrollViewer>
|
|
<Button Grid.Row="1" Content="Save Config" Margin="3" Click="Save_OnClick" />
|
|
</Grid>
|
|
<TabControl Grid.Column="1" Margin="3">
|
|
<TabItem Header="World">
|
|
<views:PropertyGrid DataContext="{Binding SessionSettings}" />
|
|
</TabItem>
|
|
<TabItem Header="Torch">
|
|
<views:PropertyGrid x:Name="TorchSettings" />
|
|
</TabItem>
|
|
</TabControl>
|
|
|
|
<GridSplitter Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Stretch" ShowsPreview="True"
|
|
Width="2" />
|
|
</Grid>
|
|
</Grid>
|
|
</UserControl> |