mirror of
https://github.com/scratchfoundation/bgfx.git
synced 2024-12-11 08:41:31 -05:00
59 lines
No EOL
1.5 KiB
JavaScript
59 lines
No EOL
1.5 KiB
JavaScript
|
|
TitleWindow = (function()
|
|
{
|
|
function TitleWindow(wm, settings, server, connection_address)
|
|
{
|
|
this.Settings = settings;
|
|
|
|
this.Window = wm.AddWindow(" Remotery", 10, 10, 100, 100);
|
|
this.Window.ShowNoAnim();
|
|
|
|
this.PingContainer = this.Window.AddControlNew(new WM.Container(4, -13, 10, 10));
|
|
DOM.Node.AddClass(this.PingContainer.Node, "PingContainer");
|
|
|
|
this.EditBox = this.Window.AddControlNew(new WM.EditBox(10, 5, 300, 18, "Connection Address", connection_address));
|
|
|
|
// Setup pause button
|
|
this.PauseButton = this.Window.AddControlNew(new WM.Button("Pause", 5, 5, { toggle: true }));
|
|
this.PauseButton.SetOnClick(Bind(OnPausePressed, this));
|
|
|
|
server.AddMessageHandler("PING", Bind(OnPing, this));
|
|
}
|
|
|
|
|
|
TitleWindow.prototype.SetConnectionAddressChanged = function(handler)
|
|
{
|
|
this.EditBox.SetChangeHandler(handler);
|
|
}
|
|
|
|
|
|
TitleWindow.prototype.WindowResized = function(width, height)
|
|
{
|
|
this.Window.SetSize(width - 2 * 10, 50);
|
|
this.PauseButton.SetPosition(width - 80, 5);
|
|
}
|
|
|
|
|
|
function OnPausePressed(self)
|
|
{
|
|
self.Settings.IsPaused = self.PauseButton.IsPressed();
|
|
if (self.Settings.IsPaused)
|
|
self.PauseButton.SetText("Paused");
|
|
else
|
|
self.PauseButton.SetText("Pause");
|
|
}
|
|
|
|
|
|
function OnPing(self, server)
|
|
{
|
|
// Set the ping container as active and take it off half a second later
|
|
DOM.Node.AddClass(self.PingContainer.Node, "PingContainerActive");
|
|
window.setTimeout(Bind(function(self)
|
|
{
|
|
DOM.Node.RemoveClass(self.PingContainer.Node, "PingContainerActive");
|
|
}, self), 500);
|
|
}
|
|
|
|
|
|
return TitleWindow;
|
|
})(); |