Torque3D/Templates/BaseGame/game/data/UI/guis/netGraphGui.gui
JeffR 01de818503 Ran importer on UI module to ensure guis and images are converted to latest standards
Updated all UI module controls to utilize a more standard structure with stack controls instead of the GameMenu ctrls, as well as more standardization of gamepad input handling
2022-02-22 20:12:39 -06:00

558 lines
15 KiB
Plaintext

function execNetGraphGuiGUI()
{
if ( isObject( NetGraphGui ) )
NetGraphGui.delete();
if ( isObject( NetGraphProfile ) )
NetGraphProfile.delete();
if ( isObject( NetGraphGhostsActiveProfile ) )
NetGraphGhostsActiveProfile.delete();
if ( isObject( NetGraphGhostUpdatesProfile ) )
NetGraphGhostUpdatesProfile.delete();
if ( isObject( NetGraphBitsSentProfile ) )
NetGraphBitsSentProfile.delete();
if ( isObject( NetGraphBitsReceivedProfile ) )
NetGraphBitsReceivedProfile.delete();
if ( isObject( NetGraphLatencyProfile ) )
NetGraphLatencyProfile.delete();
if ( isObject( NetGraphPacketLossProfile ) )
NetGraphPacketLossProfile.delete();
exec( "./NetGraphGui.gui" );
}
// Profiles
new GuiControlProfile (NetGraphProfile)
{
modal = false;
opaque = false;
canKeyFocus = false;
};
new GuiControlProfile (NetGraphKeyContainerProfile)
{
border = true;
opaque = true;
fillColor = "100 100 100 200";
};
new GuiControlProfile (NetGraphGhostsActiveProfile)
{
border = false;
fontColor = "255 255 255";
};
new GuiControlProfile (NetGraphGhostUpdatesProfile)
{
border = false;
fontColor = "255 0 0";
};
new GuiControlProfile (NetGraphBitsSentProfile)
{
border = false;
fontColor = "0 255 0";
};
new GuiControlProfile (NetGraphBitsReceivedProfile)
{
border = false;
fontColor = "0 0 255";
};
new GuiControlProfile (NetGraphLatencyProfile)
{
border = false;
fontColor = "0 255 255";
};
new GuiControlProfile (NetGraphPacketLossProfile)
{
border = false;
fontColor = "0 0 0";
};
//--- OBJECT WRITE BEGIN ---
$guiContent = new GuiControl(NetGraphGui) {
position = "0 0";
extent = "1024 768";
minExtent = "8 2";
horizSizing = "left";
vertSizing = "bottom";
profile = "NetGraphProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "1";
noCursor = "1";
new GuiGraphCtrl(NetGraph) {
centerY = "1";
plotColor[0] = "1 1 1 1";
plotColor[1] = "1 0 0 1";
plotColor[2] = "0 1 0 1";
plotColor[3] = "0 0 1 1";
plotColor[4] = "0 1 1 1";
plotColor[5] = "0 0 0 1";
plotType[0] = "PolyLine";
plotType[1] = "PolyLine";
plotType[2] = "PolyLine";
plotType[3] = "PolyLine";
plotType[4] = "PolyLine";
plotType[5] = "PolyLine";
plotInterval[0] = "0";
plotInterval[1] = "0";
plotInterval[2] = "0";
plotInterval[3] = "0";
plotInterval[4] = "0";
plotInterval[5] = "0";
position = "816 5";
extent = "200 200";
minExtent = "8 2";
horizSizing = "left";
vertSizing = "bottom";
profile = "NetGraphKeyContainerProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "0";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiControl() {
position = "816 205";
extent = "200 104";
minExtent = "8 2";
horizSizing = "left";
vertSizing = "bottom";
profile = "NetGraphKeyContainerProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0";
new GuiTextCtrl(GhostsActive) {
text = "Ghosts Active";
maxLength = "255";
margin = "0 0 0 0";
padding = "0 0 0 0";
anchorTop = "1";
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "0 0";
extent = "100 18";
minExtent = "8 2";
horizSizing = "left";
vertSizing = "bottom";
profile = "NetGraphGhostsActiveProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiTextCtrl(GhostUpdates) {
text = "Ghost Updates";
maxLength = "255";
margin = "0 0 0 0";
padding = "0 0 0 0";
anchorTop = "1";
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "100 0";
extent = "100 18";
minExtent = "8 2";
horizSizing = "left";
vertSizing = "bottom";
profile = "NetGraphGhostUpdatesProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiTextCtrl(BitsSent) {
text = "Bytes Sent";
maxLength = "255";
margin = "0 0 0 0";
padding = "0 0 0 0";
anchorTop = "1";
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "0 18";
extent = "100 18";
minExtent = "8 2";
horizSizing = "left";
vertSizing = "bottom";
profile = "NetGraphBitsSentProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiTextCtrl(BitsReceived) {
text = "Bytes Received";
maxLength = "255";
margin = "0 0 0 0";
padding = "0 0 0 0";
anchorTop = "1";
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "100 18";
extent = "100 18";
minExtent = "8 2";
horizSizing = "left";
vertSizing = "bottom";
profile = "NetGraphBitsReceivedProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiTextCtrl(Latency) {
text = "Latency";
maxLength = "255";
margin = "0 0 0 0";
padding = "0 0 0 0";
anchorTop = "1";
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "0 36";
extent = "100 18";
minExtent = "8 2";
horizSizing = "left";
vertSizing = "bottom";
profile = "NetGraphLatencyProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiTextCtrl(PacketLoss) {
text = "Packet Loss";
maxLength = "255";
margin = "0 0 0 0";
padding = "0 0 0 0";
anchorTop = "1";
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "100 36";
extent = "59 18";
minExtent = "8 2";
horizSizing = "left";
vertSizing = "bottom";
profile = "NetGraphPacketLossProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiTextCtrl() {
text = "Network Simulation:";
maxLength = "255";
margin = "0 0 0 0";
padding = "0 0 0 0";
anchorTop = "1";
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "0 52";
extent = "97 18";
minExtent = "8 2";
horizSizing = "left";
vertSizing = "bottom";
profile = "NetGraphPacketLossProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiTextCtrl() {
text = "Simulated Latency:";
maxLength = "255";
margin = "0 0 0 0";
padding = "0 0 0 0";
anchorTop = "1";
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "0 68";
extent = "91 18";
minExtent = "8 2";
horizSizing = "left";
vertSizing = "bottom";
profile = "NetGraphPacketLossProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiTextCtrl() {
text = "ms";
maxLength = "255";
margin = "0 0 0 0";
padding = "0 0 0 0";
anchorTop = "1";
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "179 68";
extent = "20 18";
minExtent = "8 2";
horizSizing = "left";
vertSizing = "bottom";
profile = "NetGraphPacketLossProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiTextEditCtrl(NetGraphSimLatency) {
historySize = "0";
tabComplete = "0";
sinkAllKeyEvents = "0";
password = "0";
passwordMask = "*";
text = "0";
maxLength = "1024";
margin = "0 0 0 0";
padding = "0 0 0 0";
anchorTop = "1";
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "112 67";
extent = "64 18";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "GuiTextEditProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiTextCtrl() {
text = "Simulated Packet Loss:";
maxLength = "255";
margin = "0 0 0 0";
padding = "0 0 0 0";
anchorTop = "1";
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "0 83";
extent = "111 18";
minExtent = "8 2";
horizSizing = "left";
vertSizing = "bottom";
profile = "NetGraphPacketLossProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiTextCtrl() {
text = "%";
maxLength = "255";
margin = "0 0 0 0";
padding = "0 0 0 0";
anchorTop = "1";
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "179 84";
extent = "20 18";
minExtent = "8 2";
horizSizing = "left";
vertSizing = "bottom";
profile = "NetGraphPacketLossProfile";
visible = "1";
active = "1";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0";
};
new GuiTextEditCtrl(NetGraphSimPacket) {
historySize = "0";
tabComplete = "0";
sinkAllKeyEvents = "0";
password = "0";
passwordMask = "*";
text = "0";
maxLength = "1024";
margin = "0 0 0 0";
padding = "0 0 0 0";
anchorTop = "1";
anchorBottom = "0";
anchorLeft = "1";
anchorRight = "0";
position = "112 85";
extent = "64 18";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "GuiTextEditProfile";
visible = "1";
active = "1";
command = "if(NetGraphSimLatency.text $= \"\" || NetGraphSimLatency.text < 0)\n{\n NetGraphSimLatency.text = 0;\n}\n\nif(NetGraphSimPacket.text $= \"\" || NetGraphSimPacket.text < 0)\n{\n NetGraphSimLatency.text = 0;\n}\nelse if(NetGraphSimPacket.text > 100)\n{\n NetGraphSimPacket.text = 100;\n}\n\nnetSimulateLag( NetGraphSimLatency.text, NetGraphSimPacket.text );";
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "1";
canSave = "1";
canSaveDynamicFields = "0";
};
};
};
//--- OBJECT WRITE END ---
// Functions
function toggleNetGraph()
{
if(!$NetGraph::isInitialized)
{
NetGraph::updateStats();
$NetGraph::isInitialized = true;
}
if(!Canvas.isMember(NetGraphGui))
{
Canvas.add(NetGraphGui);
}
else
{
Canvas.remove(NetGraphGui);
netSimulateLag( 0, 0 );
}
}
function NetGraph::updateStats()
{
$NetGraphThread = NetGraph.schedule(32, "updateStats");
if(!$Stats::netGhostUpdates)
return;
if(isobject(NetGraph))
{
if(isobject(ServerConnection))
NetGraph.addDatum(0,ServerConnection.getGhostsActive());
GhostsActive.setText("Ghosts Active: " @ ServerConnection.getGhostsActive());
NetGraph.addDatum(1,$Stats::netGhostUpdates);
GhostUpdates.setText("Ghost Updates: " @ $Stats::netGhostUpdates);
NetGraph.addDatum(2,$Stats::netBitsSent);
BitsSent.setText("Bytes Sent: " @ $Stats::netBitsSent);
NetGraph.addDatum(3,$Stats::netBitsReceived);
BitsReceived.setText("Bytes Received: " @ $Stats::netBitsReceived);
NetGraph.matchScale(2,3);
NetGraph.addDatum(4,ServerConnection.getPing());
Latency.setText("Latency: " @ ServerConnection.getPing());
NetGraph.addDatum(5,ServerConnection.getPacketLoss());
PacketLoss.setText("Packet Loss: " @ ServerConnection.getPacketLoss());
}
}
function NetGraph::toggleKey()
{
if(!GhostsActive.visible)
{
GhostsActive.visible = 1;
GhostUpdates.visible = 1;
BitsSent.visible = 1;
BitsReceived.visible = 1;
Latency.visible = 1;
PacketLoss.visible = 1;
}
else
{
GhostsActive.visible = 0;
GhostUpdates.visible = 0;
BitsSent.visible = 0;
BitsReceived.visible = 0;
Latency.visible = 0;
PacketLoss.visible = 0;
}
}
function NetGraphSimLatency::onReturn(%this)
{
NetGraph.updateNetworkSimulation();
}
function NetGraphSimPacket::onReturn(%this)
{
NetGraph.updateNetworkSimulation();
}
function NetGraph::updateNetworkSimulation(%this)
{
%latency = NetGraphSimLatency.getText();
if(%latency $= "" || %latency < 0)
{
NetGraphSimLatency.text = 0;
%latency = 0;
}
%packetLoss = NetGraphSimPacket.getText();
if(%packetLoss $= "" || %packetLoss < 0)
{
NetGraphSimLatency.text = 0;
%packetLoss = 0;
}
else if(%packetLoss > 100)
{
NetGraphSimPacket.text = 100;
%packetLoss = 100;
}
netSimulateLag( %latency, %packetLoss );
}