Arma Reforger Explorer
1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Toggle main menu visibility
Loading...
Searching...
No Matches
SCR_ServerConfigAdvancedComponent.c
Go to the documentation of this file.
1
class
SCR_ServerConfigAdvancedComponent
:
SCR_ConfigListComponent
2
{
3
protected
const
string
HOST_LOCALY
=
"lan"
;
4
protected
const
string
BIND_IP
=
"bindAddress"
;
5
protected
const
string
BIND_PORT
=
"bindPort"
;
6
protected
const
string
PUBLIC_IP
=
"publicAddress"
;
7
protected
const
string
PUBLIC_PORT
=
"publicPort"
;
8
9
protected
SCR_WidgetListEntrySpinBox
m_HostLocalyCheck
;
10
protected
SCR_WidgetListEntryEditBox
m_PublicAddress
;
11
protected
SCR_WidgetListEntryEditBox
m_PublicPortEdit
;
12
protected
SCR_WidgetListEntryEditBox
m_BindPortEdit
;
13
14
protected
bool
m_bWasPortEdited
=
false
;
15
16
// Invokers
17
protected
ref
ScriptInvokerString
m_OnPortChanged
;
18
19
//------------------------------------------------------------------------------------------------
20
ScriptInvokerString
GetOnPortChanged
()
21
{
22
if
(!
m_OnPortChanged
)
23
m_OnPortChanged
=
new
ScriptInvokerString
();
24
25
return
m_OnPortChanged
;
26
}
27
28
//-------------------------------------------------------------------------------------------
29
override
void
HandlerAttached
(
Widget
w)
30
{
31
super.HandlerAttached(w);
32
33
// Find widges
34
m_PublicAddress
=
SCR_WidgetListEntryEditBox
.Cast(
FindEntry
(
PUBLIC_IP
));
35
36
m_HostLocalyCheck
=
SCR_WidgetListEntrySpinBox
.Cast(
FindEntry
(
HOST_LOCALY
));
37
if
(
m_HostLocalyCheck
)
38
m_HostLocalyCheck
.GetSpinBox().m_OnChanged.Insert(
OnHostLocalyChanged
);
39
40
m_PublicPortEdit
=
SCR_WidgetListEntryEditBox
.Cast(
FindEntry
(
PUBLIC_PORT
));
41
if
(
m_PublicPortEdit
)
42
m_PublicPortEdit
.GetEditBoxComponent().m_OnWriteModeLeave.Insert(
OnPublicPortChanged
);
43
44
m_BindPortEdit
=
SCR_WidgetListEntryEditBox
.Cast(
FindEntry
(
BIND_PORT
));
45
if
(
m_BindPortEdit
)
46
m_BindPortEdit
.GetEditBoxComponent().m_OnChanged.Insert(
OnBindPortChanged
);
47
}
48
49
//-------------------------------------------------------------------------------------------
50
protected
void
OnHostLocalyChanged
(
SCR_SpinBoxComponent
spinBox,
int
option)
51
{
52
bool
selected = option == 1;
53
54
// Set public ip to local
55
m_PublicAddress
.SetInteractive(!selected);
56
57
if
(selected)
// True
58
{
59
// Set public ip to local
60
m_PublicAddress
.SetValue(SCR_WidgetEditFormatIP.LAN_VALUE);
61
}
62
else
63
{
64
// Clear public ip edit
65
m_PublicAddress
.SetValue(
""
);
66
}
67
}
68
69
//-------------------------------------------------------------------------------------------
70
protected
void
OnBindPortChanged
(
SCR_EditBoxComponent
edit,
string
text)
71
{
72
// Registed port edited
73
if
(!
m_bWasPortEdited
&& !text.IsEmpty())
74
{
75
m_bWasPortEdited
=
true
;
76
}
77
else
if
(
m_bWasPortEdited
&& text.IsEmpty())
78
{
79
m_bWasPortEdited
=
false
;
80
}
81
}
82
83
//-------------------------------------------------------------------------------------------
84
protected
void
OnPublicPortChanged
(
string
text)
85
{
86
// Edit bind by public port
87
if
(!
m_bWasPortEdited
&&
m_BindPortEdit
)
88
m_BindPortEdit
.ClearInvalidInput();
89
90
if
(
m_OnPortChanged
)
91
m_OnPortChanged
.Invoke(
m_PublicPortEdit
.ValueAsString());
92
}
93
94
//-------------------------------------------------------------------------------------------
96
void
FillFromDSConfig
(notnull
SCR_DSConfig
config)
97
{
98
FindEntry
(
HOST_LOCALY
).
SetValue
(
SCR_JsonApiStructHandler
.
BoolToString
(config.publicAddress == SCR_WidgetEditFormatIP.LAN_VALUE));
99
FindEntry
(
PUBLIC_IP
).
SetValue
(config.publicAddress);
100
FindEntry
(
PUBLIC_PORT
).
SetValue
(config.publicPort.ToString());
101
FindEntry
(
BIND_IP
).
SetValue
(config.bindAddress);
102
FindEntry
(
BIND_PORT
).
SetValue
(config.bindPort.ToString());
103
}
104
105
//-------------------------------------------------------------------------------------------
106
void
SetIPPort
(
DSConfig
config)
107
{
108
FindEntry
(
PUBLIC_IP
).
SetValue
(config.publicAddress);
109
FindEntry
(
PUBLIC_PORT
).
SetValue
(config.publicPort.ToString());
110
FindEntry
(
BIND_IP
).
SetValue
(config.bindAddress);
111
FindEntry
(
BIND_PORT
).
SetValue
(config.bindPort.ToString());
112
}
113
114
//-------------------------------------------------------------------------------------------
115
void
SetPorts
(
string
port)
116
{
117
m_PublicPortEdit
.SetValue(port);
118
m_BindPortEdit
.SetValue(port);
119
}
120
}
DSConfig
void DSConfig()
Definition
DSConfig.c:83
ScriptInvokerString
ScriptInvokerBase< ScriptInvokerStringMethod > ScriptInvokerString
Definition
SCR_ScriptInvokerHelper.c:75
SCR_ConfigListComponent
Definition
SCR_ConfigListComponent.c:6
SCR_ConfigListComponent::FindEntry
SCR_WidgetListEntry FindEntry(string propertyName, string groupTag="")
Find variable of given property name and group tag - no group tag find any variable of given property...
Definition
SCR_ConfigListComponent.c:57
SCR_DSConfig
Definition
SCR_DSConfig.c:6
SCR_EditBoxComponent
Definition
SCR_EditBoxComponent.c:9
SCR_JsonApiStructHandler
Handler for json api struct values.
Definition
SCR_JsonApiStructHandler.c:9
SCR_JsonApiStructHandler::BoolToString
static string BoolToString(bool boolean)
Definition
SCR_JsonApiStructHandler.c:77
SCR_ServerConfigAdvancedComponent
Definition
SCR_ServerConfigAdvancedComponent.c:2
SCR_ServerConfigAdvancedComponent::OnPublicPortChanged
void OnPublicPortChanged(string text)
Definition
SCR_ServerConfigAdvancedComponent.c:84
SCR_ServerConfigAdvancedComponent::m_OnPortChanged
ref ScriptInvokerString m_OnPortChanged
Definition
SCR_ServerConfigAdvancedComponent.c:17
SCR_ServerConfigAdvancedComponent::m_HostLocalyCheck
SCR_WidgetListEntrySpinBox m_HostLocalyCheck
Definition
SCR_ServerConfigAdvancedComponent.c:9
SCR_ServerConfigAdvancedComponent::OnBindPortChanged
void OnBindPortChanged(SCR_EditBoxComponent edit, string text)
Definition
SCR_ServerConfigAdvancedComponent.c:70
SCR_ServerConfigAdvancedComponent::BIND_PORT
const string BIND_PORT
Definition
SCR_ServerConfigAdvancedComponent.c:5
SCR_ServerConfigAdvancedComponent::m_PublicPortEdit
SCR_WidgetListEntryEditBox m_PublicPortEdit
Definition
SCR_ServerConfigAdvancedComponent.c:11
SCR_ServerConfigAdvancedComponent::SetIPPort
void SetIPPort(DSConfig config)
Definition
SCR_ServerConfigAdvancedComponent.c:106
SCR_ServerConfigAdvancedComponent::m_BindPortEdit
SCR_WidgetListEntryEditBox m_BindPortEdit
Definition
SCR_ServerConfigAdvancedComponent.c:12
SCR_ServerConfigAdvancedComponent::OnHostLocalyChanged
void OnHostLocalyChanged(SCR_SpinBoxComponent spinBox, int option)
Definition
SCR_ServerConfigAdvancedComponent.c:50
SCR_ServerConfigAdvancedComponent::GetOnPortChanged
ScriptInvokerString GetOnPortChanged()
Definition
SCR_ServerConfigAdvancedComponent.c:20
SCR_ServerConfigAdvancedComponent::m_PublicAddress
SCR_WidgetListEntryEditBox m_PublicAddress
Definition
SCR_ServerConfigAdvancedComponent.c:10
SCR_ServerConfigAdvancedComponent::BIND_IP
const string BIND_IP
Definition
SCR_ServerConfigAdvancedComponent.c:4
SCR_ServerConfigAdvancedComponent::FillFromDSConfig
void FillFromDSConfig(notnull SCR_DSConfig config)
Fill all entries with values from given DS config.
Definition
SCR_ServerConfigAdvancedComponent.c:96
SCR_ServerConfigAdvancedComponent::SetPorts
void SetPorts(string port)
Definition
SCR_ServerConfigAdvancedComponent.c:115
SCR_ServerConfigAdvancedComponent::HandlerAttached
override void HandlerAttached(Widget w)
Definition
SCR_ServerConfigAdvancedComponent.c:29
SCR_ServerConfigAdvancedComponent::PUBLIC_IP
const string PUBLIC_IP
Definition
SCR_ServerConfigAdvancedComponent.c:6
SCR_ServerConfigAdvancedComponent::PUBLIC_PORT
const string PUBLIC_PORT
Definition
SCR_ServerConfigAdvancedComponent.c:7
SCR_ServerConfigAdvancedComponent::m_bWasPortEdited
bool m_bWasPortEdited
Definition
SCR_ServerConfigAdvancedComponent.c:14
SCR_ServerConfigAdvancedComponent::HOST_LOCALY
const string HOST_LOCALY
Definition
SCR_ServerConfigAdvancedComponent.c:3
SCR_SpinBoxComponent
Definition
SCR_SpinBoxComponent.c:2
SCR_WidgetListEntryEditBox
Configurable widget list entry for various value that can be typed - numbers, strings,...
Definition
SCR_WidgetListEntry.c:413
SCR_WidgetListEntry::SetValue
void SetValue(string str)
Definition
SCR_WidgetListEntry.c:186
SCR_WidgetListEntrySpinBox
Configurable widget list entry selection specific for spinbox.
Definition
SCR_WidgetListEntry.c:901
Widget
Definition
Widget.c:13
scripts
Game
UI
Menu
ServerBrowser
ServerHosting
SCR_ServerConfigAdvancedComponent.c
Generated by
1.17.0