Implement network mode

This commit is contained in:
Ted John 2020-02-10 17:31:58 +00:00
parent 0a81cabd6d
commit 3f58a0d9f8
2 changed files with 16 additions and 2 deletions

View File

@ -389,10 +389,10 @@ export interface ServerInfo {
readonly providerWebsite: string;
}
export type NetworkStatus = "none" | "server" | "client";
export type NetworkMode = "none" | "server" | "client";
export interface Network {
readonly status: NetworkStatus;
readonly mode: NetworkMode;
readonly groups: number;
readonly players: number;
defaultGroup: number;

View File

@ -218,6 +218,19 @@ namespace OpenRCT2::Scripting
{
}
std::string mode_get()
{
switch (network_get_mode())
{
default:
case NETWORK_MODE_NONE:
return "none";
case NETWORK_MODE_SERVER:
return "server";
case NETWORK_MODE_CLIENT:
return "client";
}
}
int32_t players_get()
{
return network_get_num_players();
@ -260,6 +273,7 @@ namespace OpenRCT2::Scripting
static void Register(duk_context* ctx)
{
dukglue_register_property(ctx, &ScNetwork::mode_get, nullptr, "mode");
dukglue_register_property(ctx, &ScNetwork::groups_get, nullptr, "groups");
dukglue_register_property(ctx, &ScNetwork::players_get, nullptr, "players");
dukglue_register_property(ctx, &ScNetwork::defaultGroup_get, &ScNetwork::defaultGroup_set, "defaultGroup");