Remove circular dependency, sort some config items

This commit is contained in:
John Gross
2017-03-30 16:57:58 -07:00
parent 5c1a9a5e35
commit 9a9daec656
7 changed files with 34 additions and 39 deletions

View File

@@ -18,6 +18,6 @@ namespace Torch.API
void BanPlayer(ulong steamId, bool banned = true);
IMyPlayer GetPlayerBySteamId(ulong id);
IMyPlayer GetPlayerByName(string name);
MTObservableCollection<IChatMessage> ChatHistory { get; }
List<IChatMessage> ChatHistory { get; }
}
}

View File

@@ -69,9 +69,6 @@
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
<Reference Include="Torch">
<HintPath>..\Torch.Server\bin\x64\Release\Torch.dll</HintPath>
</Reference>
<Reference Include="VRage">
<HintPath>C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Bin64\VRage.dll</HintPath>
<Private>False</Private>

View File

@@ -12,5 +12,5 @@ using System.Runtime.InteropServices;
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("1.0.89.455")]
[assembly: AssemblyFileVersion("1.0.89.455")]
[assembly: AssemblyVersion("1.0.89.507")]
[assembly: AssemblyFileVersion("1.0.89.507")]

View File

@@ -12,5 +12,5 @@ using System.Runtime.InteropServices;
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("1.0.89.455")]
[assembly: AssemblyFileVersion("1.0.89.455")]
[assembly: AssemblyVersion("1.0.89.507")]
[assembly: AssemblyFileVersion("1.0.89.507")]

View File

@@ -36,17 +36,16 @@ namespace Torch.Server
public void BindServer(ITorchServer server)
{
//ChatItems.ItemsSource = server.Multiplayer.ChatHistory;
//server.Multiplayer.MessageReceived += Refresh;
//Refresh();
_server = server;
server.Multiplayer.MessageReceived += Refresh;
}
private void Refresh(IChatMessage chatItem = null)
private void Refresh(IChatMessage chatItem, ref bool sendToOthers)
{
Dispatcher.Invoke(() =>
{
ChatItems.ItemsSource = null;
//ChatItems.ItemsSource = _server.Multiplayer.Chat;
ChatItems.ItemsSource = _server.Multiplayer.ChatHistory;
});
}

View File

@@ -40,7 +40,7 @@
<Label Content="Mods"/>
<ListBox ItemsSource="{Binding Mods}" Width="130" Margin="3,0,3,3" Height="100" MouseDoubleClick="Mods_OnMouseDoubleClick"/>
</StackPanel>
<ScrollViewer Margin="3" DockPanel.Dock="Right">
<ScrollViewer Margin="3" DockPanel.Dock="Right" Height="700">
<StackPanel DataContext="{Binding SessionSettings}">
<Expander Header="Multipliers">
<StackPanel Margin="10,0,0,0">
@@ -81,13 +81,34 @@
</Expander>
<Expander Header="Environment">
<StackPanel Margin="10,0,0,0">
<CheckBox IsChecked="{Binding EnableSunRotation}" Content="Enable Sun Rotation" Margin="3"/>
<CheckBox IsChecked="{Binding EnableRealisticSound}" Content="Enable Realistic Sound" Margin="3"/>
<CheckBox IsChecked="{Binding EnableAirtightness}" Content="Enable Airtightness" Margin="3"/>
<CheckBox IsChecked="{Binding EnableOxygen}" Content="Enable Oxygen" Margin="3"/>
<CheckBox IsChecked="{Binding EnableDestructibleBlocks}" Content="Enable Destructible Blocks" Margin="3"/>
<CheckBox IsChecked="{Binding EnableToolShake}" Content="Enable Tool Shake" Margin="3"/>
<CheckBox IsChecked="{Binding EnableVoxelDestruction}" Content="Enable Voxel Destruction" Margin="3"/>
<CheckBox IsChecked="{Binding EnableSunRotation}" Content="Enable Sun Rotation" Margin="3"/>
<DockPanel>
<TextBox Text="{Binding SunRotationInterval}" Margin="3" Width="70"/>
<Label Content="Sun Rotation Interval (mins)"/>
</DockPanel>
<CheckBox IsChecked="{Binding EnableFlora}" Content="Enable Flora" Margin="3"/>
<DockPanel>
<TextBox Text="{Binding FloraDensity}" Margin="3" Width="70"/>
<Label Content="Flora Density"/>
</DockPanel>
<DockPanel>
<TextBox Text="{Binding FloraDensityMultiplier}" Margin="3" Width="70"/>
<Label Content="Flora Density Multiplier"/>
</DockPanel>
<DockPanel>
<TextBox Text="{Binding ViewDistance}" Margin="3" Width="70"/>
<Label Content="View Distance (meters)"/>
</DockPanel>
<DockPanel>
<TextBox Text="{Binding WorldSize}" Margin="3" Width="70"/>
<Label Content="World Size (km)"/>
</DockPanel>
<DockPanel>
<ComboBox SelectedItem="{Binding EnvironmentHostility}" ItemsSource="{Binding EnvironmentHostilityValues}" Margin="3" Width="100" DockPanel.Dock="Left"/>
<Label Content="Environment Hostility"></Label>
@@ -114,7 +135,6 @@
<CheckBox IsChecked="{Binding EnableRespawnShips}" Content="Enable Respawn Ships" Margin="3"/>
<CheckBox IsChecked="{Binding EnableScripterRole}" Content="Enable Scripter Role" Margin="3"/>
<CheckBox IsChecked="{Binding EnableSpectator}" Content="Enable Spectator Camera" Margin="3"/>
<CheckBox IsChecked="{Binding EnableRealisticSound}" Content="Enable Realistic Sound" Margin="3"/>
<CheckBox IsChecked="{Binding ResetOwnership}" Content="Reset Ownership" Margin="3"/>
<CheckBox IsChecked="{Binding DeleteRespawnShips}" Content="Remove Respawn Ships on Logoff" Margin="3"/>
<CheckBox IsChecked="{Binding EnableThrusterDamage}" Content="Enable Thruster Damage" Margin="3"/>
@@ -125,14 +145,6 @@
<ComboBox SelectedItem="{Binding GameMode}" ItemsSource="{Binding GameModeValues}" Margin="3" Width="100" DockPanel.Dock="Left"/>
<Label Content="Game Mode"></Label>
</DockPanel>
<DockPanel>
<TextBox Text="{Binding FloraDensity}" Margin="3" Width="70"/>
<Label Content="Flora Density"/>
</DockPanel>
<DockPanel>
<TextBox Text="{Binding FloraDensityMultiplier}" Margin="3" Width="70"/>
<Label Content="Flora Density Multiplier"/>
</DockPanel>
<DockPanel>
<TextBox Text="{Binding MaxBackupSaves}" Margin="3" Width="70"/>
<Label Content="Max Backup Saves"/>
@@ -161,18 +173,6 @@
<TextBox Text="{Binding SpawnTimeMultiplier}" Margin="3" Width="70"/>
<Label Content="Respawn Time Multiplier"/>
</DockPanel>
<DockPanel>
<TextBox Text="{Binding SunRotationInterval}" Margin="3" Width="70"/>
<Label Content="Sun Rotation Interval (mins)"/>
</DockPanel>
<DockPanel>
<TextBox Text="{Binding ViewDistance}" Margin="3" Width="70"/>
<Label Content="View Distance (meters)"/>
</DockPanel>
<DockPanel>
<TextBox Text="{Binding WorldSize}" Margin="3" Width="70"/>
<Label Content="World Size (km)"/>
</DockPanel>
</StackPanel>
</Expander>
</StackPanel>

View File

@@ -39,7 +39,7 @@ namespace Torch.Managers
public event Action<ulong, ConnectionState> PlayerLeft;
public event MessageReceivedDel MessageReceived;
public MTObservableCollection<IChatMessage> ChatHistory { get; } = new MTObservableCollection<IChatMessage>();
public List<IChatMessage> ChatHistory { get; } = new List<IChatMessage>();
public Dictionary<ulong, IMyPlayer> Players { get; } = new Dictionary<ulong, IMyPlayer>();
public IMyPlayer LocalPlayer => MySession.Static.LocalHumanPlayer;
private readonly ITorchBase _torch;
@@ -139,8 +139,7 @@ namespace Torch.Managers
private static void RemoveHandlers()
{
var eventField = typeof(GameServer).GetField("<backing_store>ValidateAuthTicketResponse", BindingFlags.NonPublic | BindingFlags.Instance);
var eventDel = eventField?.GetValue(SteamServerAPI.Instance.GameServer) as MulticastDelegate;
if (eventDel != null)
if (eventField?.GetValue(SteamServerAPI.Instance.GameServer) is MulticastDelegate eventDel)
{
foreach (var handle in eventDel.GetInvocationList())
{