Update N00BS

This commit is contained in:
Li 2022-07-25 14:17:26 +12:00
parent e0aff19845
commit 9d50f23067
34 changed files with 177 additions and 3332 deletions

View file

@ -24,20 +24,20 @@
<NativeMenuItem Header="Server">
<NativeMenu>
<NativeMenuItem Header="Shutdown Server" Command="{Binding shutdownServerCommand}"/>
<!-- <NativeMenuItem Header="Chat">
<NativeMenuItem Header="Chat">
<NativeMenu>
<NativeMenuItem Header="{Binding swearFilterHeader}" Command="{Binding toggleSwearFilter}"/>
<NativeMenuItem Header="Disable Corrections"/>
<NativeMenuItem Header="Disable Non-Vio Checks"/>
<NativeMenuItem Header="Disable Spam Filter"/>
<NativeMenuItem Header="{Binding correctionsHeader}" Command="{Binding toggleCorrections}"/>
<NativeMenuItem Header="{Binding vioChecksHeader}" Command="{Binding toggleNonVioChecks}"/>
<NativeMenuItem Header="{Binding spamFilterHeader}" Command="{Binding toggleSpamFilter}"/>
</NativeMenu>
</NativeMenuItem>
<NativeMenuItem Header="Game">
<NativeMenu>
<NativeMenuItem Header="Disable All Users Subscribed"/>
<NativeMenuItem Header="Disable Fix Offical Bugs"/>
<NativeMenuItem Header="{Binding allUsersSubbedHeader}" Command="{Binding toggleAllUsersSubbed}"/>
<NativeMenuItem Header="{Binding fixOfficalBugsHeader}" Command="{Binding toggleFixOfficalBugs}"/>
</NativeMenu>
</NativeMenuItem> -->
</NativeMenuItem>
<NativeMenuItem Header="Advanced">
<NativeMenu>
<NativeMenuItem Header="Edit &quot;server.properties&quot;" Command="{Binding editServerPropertiesCommand}"/>

View file

@ -8,18 +8,34 @@ namespace MPN00BS.ViewModels
{
public class HispViewModel : ViewModelBase
{
public void RefreshNames()
{
swearFilterHeader = (ConfigReader.EnableSwearFilter ? "Disable" : "Enable") + " Swear Filter";
correctionsHeader = (ConfigReader.EnableCorrections ? "Disable" : "Enable") + " Corrections";
vioChecksHeader = (ConfigReader.EnableNonViolations ? "Disable" : "Enable") + " Non-Vio Checks";
spamFilterHeader = (ConfigReader.EnableSpamFilter ? "Disable" : "Enable") + " Spam Filter";
allUsersSubbedHeader = (ConfigReader.AllUsersSubbed ? "Disable" : "Enable") + " All Users Subscribed";
fixOfficalBugsHeader = (ConfigReader.FixOfficalBugs ? "Disable" : "Enable") + " Fixing Offical Bugs";
}
public bool CheckServerRunningAndShowMessage()
{
if (!ServerStarter.HasServerStarted)
{
MessageBox.Show(null, "There is no Horse Isle Server running yet.", "Server not Started.", MessageBox.MessageBoxButtons.Ok);
return true;
}
return false;
}
public HispViewModel()
{
ServerStarter.ReadServerProperties();
swearFilterHeader = (ConfigReader.EnableSwearFilter ? "Disable" : "Enable") + " Swear Filter";
RefreshNames();
createAccountCommand = MiniCommand.Create(() =>
{
if (!ServerStarter.HasServerStarted)
{
MessageBox.Show(null, "There is no Horse Isle Server running yet.", "Server not Started.", MessageBox.MessageBoxButtons.Ok);
return;
}
new RegisterWindow().Show();
});
@ -27,6 +43,7 @@ namespace MPN00BS.ViewModels
{
if (!ServerStarter.HasServerStarted)
{
if (CheckServerRunningAndShowMessage()) return;
MessageBox.Show(null, "There is no Horse Isle Server running yet.", "Server not Started.", MessageBox.MessageBoxButtons.Ok);
return;
}
@ -36,11 +53,7 @@ namespace MPN00BS.ViewModels
editServerPropertiesCommand = MiniCommand.Create(() =>
{
if (!ServerStarter.HasServerStarted)
{
MessageBox.Show(null, "There is no Horse Isle Server running yet.", "Server not Started.", MessageBox.MessageBoxButtons.Ok);
return;
}
if (CheckServerRunningAndShowMessage()) return;
Process p = new Process();
p.StartInfo.FileName = Path.Combine(ServerStarter.BaseDir, "server.properties");
@ -51,11 +64,7 @@ namespace MPN00BS.ViewModels
openServerFolderCommand = MiniCommand.Create(() =>
{
if (!ServerStarter.HasServerStarted)
{
MessageBox.Show(null, "There is no Horse Isle Server running yet.", "Server not Started.", MessageBox.MessageBoxButtons.Ok);
return;
}
if (CheckServerRunningAndShowMessage()) return;
Process p = new Process();
p.StartInfo.FileName = ServerStarter.BaseDir;
@ -65,11 +74,7 @@ namespace MPN00BS.ViewModels
shutdownServerCommand = MiniCommand.Create(() =>
{
if (!ServerStarter.HasServerStarted)
{
MessageBox.Show(null, "There is no Horse Isle Server running yet.", "Server not Started.", MessageBox.MessageBoxButtons.Ok);
return;
}
if (CheckServerRunningAndShowMessage()) return;
GameServer.ShutdownServer();
});
@ -77,30 +82,161 @@ namespace MPN00BS.ViewModels
toggleSwearFilter = MiniCommand.Create(() =>
{
if (!ServerStarter.HasServerStarted)
{
MessageBox.Show(null, "There is no Horse Isle Server running yet.", "Server not Started.", MessageBox.MessageBoxButtons.Ok);
return;
}
if (CheckServerRunningAndShowMessage()) return;
bool enab = !ConfigReader.EnableSwearFilter;
ServerStarter.ModifyConfig("enable_word_filter", enab.ToString().ToLowerInvariant());
ConfigReader.EnableSwearFilter = enab;
swearFilterHeader = (ConfigReader.EnableSwearFilter ? "Disable" : "Enable") + " Swear Filter";
RefreshNames();
});
toggleCorrections = MiniCommand.Create(() =>
{
if (CheckServerRunningAndShowMessage()) return;
bool enab = !ConfigReader.EnableCorrections;
ServerStarter.ModifyConfig("enable_corrections", enab.ToString().ToLowerInvariant());
ConfigReader.EnableCorrections = enab;
RefreshNames();
});
toggleNonVioChecks = MiniCommand.Create(() =>
{
if (CheckServerRunningAndShowMessage()) return;
bool enab = !ConfigReader.EnableNonViolations;
ServerStarter.ModifyConfig("enable_non_violation_check", enab.ToString().ToLowerInvariant());
ConfigReader.EnableNonViolations = enab;
RefreshNames();
});
toggleSpamFilter = MiniCommand.Create(() =>
{
if (CheckServerRunningAndShowMessage()) return;
bool enab = !ConfigReader.EnableSpamFilter;
ServerStarter.ModifyConfig("enable_spam_filter", enab.ToString().ToLowerInvariant());
ConfigReader.EnableSpamFilter = enab;
RefreshNames();
});
toggleAllUsersSubbed = MiniCommand.Create(() =>
{
if (CheckServerRunningAndShowMessage()) return;
bool enab = !ConfigReader.AllUsersSubbed;
ServerStarter.ModifyConfig("all_users_subscribed", enab.ToString().ToLowerInvariant());
ConfigReader.AllUsersSubbed = enab;
RefreshNames();
});
toggleFixOfficalBugs = MiniCommand.Create(() =>
{
if (CheckServerRunningAndShowMessage()) return;
bool enab = !ConfigReader.FixOfficalBugs;
ServerStarter.ModifyConfig("fix_offical_bugs", enab.ToString().ToLowerInvariant());
ConfigReader.FixOfficalBugs = enab;
RefreshNames();
});
}
// Binding variables
public String swearFilterHeader { get; set; }
private String _swearFilterHeader;
public String swearFilterHeader
{
get
{
return _swearFilterHeader;
}
set
{
RaiseAndSetIfChanged(ref _swearFilterHeader, value);
}
}
private String _correctionsHeader;
public String correctionsHeader
{
get
{
return _correctionsHeader;
}
set
{
RaiseAndSetIfChanged(ref _correctionsHeader, value);
}
}
private String _vioChecksHeader;
public String vioChecksHeader
{
get
{
return _vioChecksHeader;
}
set
{
RaiseAndSetIfChanged(ref _vioChecksHeader, value);
}
}
private String _spamFilterHeader;
public String spamFilterHeader
{
get
{
return _spamFilterHeader;
}
set
{
RaiseAndSetIfChanged(ref _spamFilterHeader, value);
}
}
private String _allUsersSubbedHeader;
public String allUsersSubbedHeader
{
get
{
return _allUsersSubbedHeader;
}
set
{
RaiseAndSetIfChanged(ref _allUsersSubbedHeader, value);
}
}
private String _fixOfficalBugsHeader;
public String fixOfficalBugsHeader
{
get
{
return _fixOfficalBugsHeader;
}
set
{
RaiseAndSetIfChanged(ref _fixOfficalBugsHeader, value);
}
}
// Commands
public MiniCommand shutdownServerCommand { get; }
public MiniCommand createAccountCommand { get; }
public MiniCommand editServerPropertiesCommand { get; }
public MiniCommand openServerFolderCommand { get; }
public MiniCommand toggleSwearFilter { get; }
public MiniCommand resetPasswordCommand { get; }
public MiniCommand toggleSwearFilter { get; }
public MiniCommand toggleCorrections { get; }
public MiniCommand toggleNonVioChecks { get; }
public MiniCommand toggleSpamFilter { get; }
public MiniCommand toggleAllUsersSubbed { get; }
public MiniCommand toggleFixOfficalBugs { get; }
}
}