mirror of
https://github.com/Michatec/wk_wars2x.git
synced 2026-04-01 00:16:27 +02:00
Indentation
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
--[[-----------------------------------------------------------------------
|
--[[-----------------------------------------------------------------------
|
||||||
|
|
||||||
Wraith ARS 2X
|
Wraith ARS 2X
|
||||||
Created by WolfKnight
|
Created by WolfKnight
|
||||||
|
|
||||||
-----------------------------------------------------------------------]]--
|
-----------------------------------------------------------------------]]--
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ function UTIL:FormatSpeed( speed )
|
|||||||
local pipes = ""
|
local pipes = ""
|
||||||
|
|
||||||
for i = 1, 3 - string.len( text ) do
|
for i = 1, 3 - string.len( text ) do
|
||||||
pipes = pipes .. "¦"
|
pipes = pipes .. "¦"
|
||||||
end
|
end
|
||||||
|
|
||||||
return pipes .. text
|
return pipes .. text
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
--[[------------------------------------------------------------------------
|
--[[------------------------------------------------------------------------
|
||||||
|
|
||||||
Wraith ARS 2X
|
Wraith ARS 2X
|
||||||
Created by WolfKnight
|
Created by WolfKnight
|
||||||
|
|
||||||
------------------------------------------------------------------------]]--
|
------------------------------------------------------------------------]]--
|
||||||
|
|
||||||
|
|||||||
1224
nui/radar.css
1224
nui/radar.css
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<link href="radar.css" rel="stylesheet" type="text/css"/>
|
<link href="radar.css" rel="stylesheet" type="text/css"/>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body onselectstart="return false;" ondragstart="return false;">
|
<body onselectstart="return false;" ondragstart="return false;">
|
||||||
<!-- <div id="radarFrame" class="unit_frame"> -->
|
<!-- <div id="radarFrame" class="unit_frame"> -->
|
||||||
@@ -237,5 +237,5 @@
|
|||||||
<!-- Load JavaScript files -->
|
<!-- Load JavaScript files -->
|
||||||
<script src="nui://game/ui/jquery.js"></script>
|
<script src="nui://game/ui/jquery.js"></script>
|
||||||
<script src="radar.js"></script>
|
<script src="radar.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
496
nui/radar.js
496
nui/radar.js
@@ -1,11 +1,11 @@
|
|||||||
/*-------------------------------------------------------------------------
|
/*-------------------------------------------------------------------------
|
||||||
|
|
||||||
Wraith ARS 2X
|
Wraith ARS 2X
|
||||||
Created by WolfKnight
|
Created by WolfKnight
|
||||||
|
|
||||||
This JS file takes inspiration from RandomSean's RS9000 JS file, so
|
This JS file takes inspiration from RandomSean's RS9000 JS file, so
|
||||||
thanks to him!
|
thanks to him!
|
||||||
|
|
||||||
-------------------------------------------------------------------------*/
|
-------------------------------------------------------------------------*/
|
||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
@@ -13,95 +13,95 @@ var resourceName;
|
|||||||
|
|
||||||
const audioNames =
|
const audioNames =
|
||||||
{
|
{
|
||||||
beep: "beep.ogg",
|
beep: "beep.ogg",
|
||||||
xmit_on: "xmit_on.ogg",
|
xmit_on: "xmit_on.ogg",
|
||||||
xmit_off: "xmit_off.ogg",
|
xmit_off: "xmit_off.ogg",
|
||||||
done: "done.ogg"
|
done: "done.ogg"
|
||||||
}
|
}
|
||||||
|
|
||||||
// Setup the main const element structure, this way we can easily access elements without having the mess
|
// Setup the main const element structure, this way we can easily access elements without having the mess
|
||||||
// that was in the JS file for WraithRS
|
// that was in the JS file for WraithRS
|
||||||
const elements =
|
const elements =
|
||||||
{
|
{
|
||||||
radar: $( "#radarFrame" ),
|
radar: $( "#radarFrame" ),
|
||||||
remote: $( "#rc" ),
|
remote: $( "#rc" ),
|
||||||
toggleDisplay: $( "#toggleDisplay" ),
|
toggleDisplay: $( "#toggleDisplay" ),
|
||||||
pwrBtn: $( "#pwrBtn" ),
|
pwrBtn: $( "#pwrBtn" ),
|
||||||
|
|
||||||
uiSettingsBtn: $( "#uiSettings" ),
|
uiSettingsBtn: $( "#uiSettings" ),
|
||||||
uiSettingsBox: $( "#uiSettingsBox" ),
|
uiSettingsBox: $( "#uiSettingsBox" ),
|
||||||
closeUiBtn: $( "#closeUiSettings" ),
|
closeUiBtn: $( "#closeUiSettings" ),
|
||||||
|
|
||||||
scale: {
|
scale: {
|
||||||
increase: $( "#increaseScale" ),
|
increase: $( "#increaseScale" ),
|
||||||
decrease: $( "#decreaseScale" ),
|
decrease: $( "#decreaseScale" ),
|
||||||
display: $( "#scaleDisplay" )
|
display: $( "#scaleDisplay" )
|
||||||
},
|
},
|
||||||
|
|
||||||
patrolSpeed: $( "#patrolSpeed" ),
|
patrolSpeed: $( "#patrolSpeed" ),
|
||||||
|
|
||||||
antennas: {
|
antennas: {
|
||||||
front: {
|
front: {
|
||||||
targetSpeed: $( "#frontSpeed" ),
|
targetSpeed: $( "#frontSpeed" ),
|
||||||
fastSpeed: $( "#frontFastSpeed" ),
|
fastSpeed: $( "#frontFastSpeed" ),
|
||||||
|
|
||||||
dirs: {
|
dirs: {
|
||||||
fwd: $( "#frontDirAway" ),
|
fwd: $( "#frontDirAway" ),
|
||||||
bwd: $( "#frontDirTowards" ),
|
bwd: $( "#frontDirTowards" ),
|
||||||
fwdFast: $( "#frontFastDirAway" ),
|
fwdFast: $( "#frontFastDirAway" ),
|
||||||
bwdFast: $( "#frontFastDirTowards" )
|
bwdFast: $( "#frontFastDirTowards" )
|
||||||
},
|
},
|
||||||
|
|
||||||
modes: {
|
modes: {
|
||||||
same: $( "#frontSame" ),
|
same: $( "#frontSame" ),
|
||||||
opp: $( "#frontOpp" ),
|
opp: $( "#frontOpp" ),
|
||||||
xmit: $( "#frontXmit" )
|
xmit: $( "#frontXmit" )
|
||||||
},
|
},
|
||||||
|
|
||||||
fast: {
|
fast: {
|
||||||
fastLabel: $( "#frontFastLabel" ),
|
fastLabel: $( "#frontFastLabel" ),
|
||||||
lockLabel: $( "#frontFastLockLabel" )
|
lockLabel: $( "#frontFastLockLabel" )
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
rear: {
|
rear: {
|
||||||
targetSpeed: $( "#rearSpeed" ),
|
targetSpeed: $( "#rearSpeed" ),
|
||||||
fastSpeed: $( "#rearFastSpeed" ),
|
fastSpeed: $( "#rearFastSpeed" ),
|
||||||
|
|
||||||
dirs: {
|
dirs: {
|
||||||
fwd: $( "#rearDirTowards" ),
|
fwd: $( "#rearDirTowards" ),
|
||||||
bwd: $( "#rearDirAway" ),
|
bwd: $( "#rearDirAway" ),
|
||||||
fwdFast: $( "#rearFastDirTowards" ),
|
fwdFast: $( "#rearFastDirTowards" ),
|
||||||
bwdFast: $( "#rearFastDirAway" )
|
bwdFast: $( "#rearFastDirAway" )
|
||||||
},
|
},
|
||||||
|
|
||||||
modes: {
|
modes: {
|
||||||
same: $( "#rearSame" ),
|
same: $( "#rearSame" ),
|
||||||
opp: $( "#rearOpp" ),
|
opp: $( "#rearOpp" ),
|
||||||
xmit: $( "#rearXmit" )
|
xmit: $( "#rearXmit" )
|
||||||
},
|
},
|
||||||
|
|
||||||
fast: {
|
fast: {
|
||||||
fastLabel: $( "#rearFastLabel" ),
|
fastLabel: $( "#rearFastLabel" ),
|
||||||
lockLabel: $( "#rearFastLockLabel" )
|
lockLabel: $( "#rearFastLockLabel" )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const modes =
|
const modes =
|
||||||
{
|
{
|
||||||
off: 0,
|
off: 0,
|
||||||
same: 1,
|
same: 1,
|
||||||
opp: 2,
|
opp: 2,
|
||||||
both: 3
|
both: 3
|
||||||
}
|
}
|
||||||
|
|
||||||
const dirs =
|
const dirs =
|
||||||
{
|
{
|
||||||
none: 0,
|
none: 0,
|
||||||
closing: 1,
|
closing: 1,
|
||||||
away: 2
|
away: 2
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hide the radar and remote, this way we can bypass setting a style of 'display: none;' in the HTML file
|
// Hide the radar and remote, this way we can bypass setting a style of 'display: none;' in the HTML file
|
||||||
@@ -110,339 +110,339 @@ elements.remote.hide();
|
|||||||
elements.uiSettingsBox.hide();
|
elements.uiSettingsBox.hide();
|
||||||
|
|
||||||
elements.uiSettingsBtn.click( function() {
|
elements.uiSettingsBtn.click( function() {
|
||||||
setUISettingsVisible( true, true );
|
setUISettingsVisible( true, true );
|
||||||
} )
|
} )
|
||||||
|
|
||||||
elements.pwrBtn.click( function() {
|
elements.pwrBtn.click( function() {
|
||||||
togglePower();
|
togglePower();
|
||||||
} )
|
} )
|
||||||
|
|
||||||
function setRadarVisible( state )
|
function setRadarVisible( state )
|
||||||
{
|
{
|
||||||
state ? elements.radar.fadeIn() : elements.radar.fadeOut();
|
state ? elements.radar.fadeIn() : elements.radar.fadeOut();
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRemoteVisible( state )
|
function setRemoteVisible( state )
|
||||||
{
|
{
|
||||||
// elements.remote.toggle();
|
// elements.remote.toggle();
|
||||||
state ? elements.remote.fadeIn() : elements.remote.fadeOut();
|
state ? elements.remote.fadeIn() : elements.remote.fadeOut();
|
||||||
}
|
}
|
||||||
|
|
||||||
function togglePower()
|
function togglePower()
|
||||||
{
|
{
|
||||||
sendData( "togglePower", null );
|
sendData( "togglePower", null );
|
||||||
}
|
}
|
||||||
|
|
||||||
function setLight( ant, cat, item, state )
|
function setLight( ant, cat, item, state )
|
||||||
{
|
{
|
||||||
let obj = elements.antennas[ant][cat][item];
|
let obj = elements.antennas[ant][cat][item];
|
||||||
|
|
||||||
if ( state ) {
|
if ( state ) {
|
||||||
cat == "dirs" ? obj.addClass( "active_arrow" ) : obj.addClass( "active" );
|
cat == "dirs" ? obj.addClass( "active_arrow" ) : obj.addClass( "active" );
|
||||||
} else {
|
} else {
|
||||||
cat == "dirs" ? obj.removeClass( "active_arrow" ) : obj.removeClass( "active" );
|
cat == "dirs" ? obj.removeClass( "active_arrow" ) : obj.removeClass( "active" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function clearModes( ant )
|
function clearModes( ant )
|
||||||
{
|
{
|
||||||
for ( let i in elements.antennas[ant].modes )
|
for ( let i in elements.antennas[ant].modes )
|
||||||
{
|
{
|
||||||
elements.antennas[ant].modes[i].removeClass( "active" );
|
elements.antennas[ant].modes[i].removeClass( "active" );
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( let a in elements.antennas[ant].fast )
|
for ( let a in elements.antennas[ant].fast )
|
||||||
{
|
{
|
||||||
elements.antennas[ant].fast[a].removeClass( "active" );
|
elements.antennas[ant].fast[a].removeClass( "active" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function clearDirs( ant )
|
function clearDirs( ant )
|
||||||
{
|
{
|
||||||
for ( let i in elements.antennas[ant].dirs )
|
for ( let i in elements.antennas[ant].dirs )
|
||||||
{
|
{
|
||||||
elements.antennas[ant].dirs[i].removeClass( "active_arrow" );
|
elements.antennas[ant].dirs[i].removeClass( "active_arrow" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function clearAntenna( ant )
|
function clearAntenna( ant )
|
||||||
{
|
{
|
||||||
clearModes( ant );
|
clearModes( ant );
|
||||||
clearDirs( ant );
|
clearDirs( ant );
|
||||||
|
|
||||||
elements.antennas[ant].targetSpeed.html( "¦¦¦" );
|
elements.antennas[ant].targetSpeed.html( "¦¦¦" );
|
||||||
elements.antennas[ant].fastSpeed.html( "¦¦¦" );
|
elements.antennas[ant].fastSpeed.html( "¦¦¦" );
|
||||||
}
|
}
|
||||||
|
|
||||||
function clearEverything()
|
function clearEverything()
|
||||||
{
|
{
|
||||||
elements.patrolSpeed.html( "¦¦¦" );
|
elements.patrolSpeed.html( "¦¦¦" );
|
||||||
|
|
||||||
for ( let i in elements.antennas )
|
for ( let i in elements.antennas )
|
||||||
{
|
{
|
||||||
clearAntenna( i );
|
clearAntenna( i );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function setAntennaXmit( ant, state )
|
function setAntennaXmit( ant, state )
|
||||||
{
|
{
|
||||||
setLight( ant, "modes", "xmit", state );
|
setLight( ant, "modes", "xmit", state );
|
||||||
|
|
||||||
if ( !state ) {
|
if ( !state ) {
|
||||||
clearDirs( ant );
|
clearDirs( ant );
|
||||||
elements.antennas[ant].targetSpeed.html( "¦¦¦" );
|
elements.antennas[ant].targetSpeed.html( "¦¦¦" );
|
||||||
elements.antennas[ant].fastSpeed.html( "HLd" );
|
elements.antennas[ant].fastSpeed.html( "HLd" );
|
||||||
} else {
|
} else {
|
||||||
elements.antennas[ant].fastSpeed.html( "¦¦¦" );
|
elements.antennas[ant].fastSpeed.html( "¦¦¦" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function setAntennaMode( ant, mode )
|
function setAntennaMode( ant, mode )
|
||||||
{
|
{
|
||||||
setLight( ant, "modes", "same", mode == modes.same );
|
setLight( ant, "modes", "same", mode == modes.same );
|
||||||
setLight( ant, "modes", "opp", mode == modes.opp );
|
setLight( ant, "modes", "opp", mode == modes.opp );
|
||||||
}
|
}
|
||||||
|
|
||||||
function setAntennaFastMode( ant, state )
|
function setAntennaFastMode( ant, state )
|
||||||
{
|
{
|
||||||
setLight( ant, "fast", "fastLabel", state );
|
setLight( ant, "fast", "fastLabel", state );
|
||||||
}
|
}
|
||||||
|
|
||||||
function setAntennaLock( ant, state )
|
function setAntennaLock( ant, state )
|
||||||
{
|
{
|
||||||
setLight( ant, "fast", "lockLabel", state );
|
setLight( ant, "fast", "lockLabel", state );
|
||||||
}
|
}
|
||||||
|
|
||||||
function setAntennaDirs( ant, dir, fastDir )
|
function setAntennaDirs( ant, dir, fastDir )
|
||||||
{
|
{
|
||||||
setLight( ant, "dirs", "fwd", dir == dirs.closing );
|
setLight( ant, "dirs", "fwd", dir == dirs.closing );
|
||||||
setLight( ant, "dirs", "bwd", dir == dirs.away );
|
setLight( ant, "dirs", "bwd", dir == dirs.away );
|
||||||
|
|
||||||
setLight( ant, "dirs", "fwdFast", fastDir == dirs.closing );
|
setLight( ant, "dirs", "fwdFast", fastDir == dirs.closing );
|
||||||
setLight( ant, "dirs", "bwdFast", fastDir == dirs.away );
|
setLight( ant, "dirs", "bwdFast", fastDir == dirs.away );
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateDisplays( ps, ants )
|
function updateDisplays( ps, ants )
|
||||||
{
|
{
|
||||||
elements.patrolSpeed.html( ps );
|
elements.patrolSpeed.html( ps );
|
||||||
|
|
||||||
for ( let ant in ants )
|
for ( let ant in ants )
|
||||||
{
|
{
|
||||||
if ( ants[ant] != null ) {
|
if ( ants[ant] != null ) {
|
||||||
let e = elements.antennas[ant];
|
let e = elements.antennas[ant];
|
||||||
|
|
||||||
e.targetSpeed.html( ants[ant][0].speed );
|
e.targetSpeed.html( ants[ant][0].speed );
|
||||||
e.fastSpeed.html( ants[ant][1].speed );
|
e.fastSpeed.html( ants[ant][1].speed );
|
||||||
|
|
||||||
// setAntennaFastLabel( ant, ants[ant][1].speed == "¦¦¦" ? false : true );
|
// setAntennaFastLabel( ant, ants[ant][1].speed == "¦¦¦" ? false : true );
|
||||||
|
|
||||||
setAntennaDirs( ant, ants[ant][0].dir, ants[ant][1].dir );
|
setAntennaDirs( ant, ants[ant][0].dir, ants[ant][1].dir );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Simulation of the system powering up
|
// Simulation of the system powering up
|
||||||
function poweringUp()
|
function poweringUp()
|
||||||
{
|
{
|
||||||
elements.patrolSpeed.html( "888" );
|
elements.patrolSpeed.html( "888" );
|
||||||
|
|
||||||
for ( let i of [ "front", "rear" ] )
|
for ( let i of [ "front", "rear" ] )
|
||||||
{
|
{
|
||||||
let e = elements.antennas[i];
|
let e = elements.antennas[i];
|
||||||
|
|
||||||
e.targetSpeed.html( "888" );
|
e.targetSpeed.html( "888" );
|
||||||
e.fastSpeed.html( "888" );
|
e.fastSpeed.html( "888" );
|
||||||
|
|
||||||
for ( let a of [ "dirs", "modes", "fast" ] )
|
for ( let a of [ "dirs", "modes", "fast" ] )
|
||||||
{
|
{
|
||||||
for ( let obj in e[a] )
|
for ( let obj in e[a] )
|
||||||
{
|
{
|
||||||
a == "dirs" ? e[a][obj].addClass( "active_arrow" ) : e[a][obj].addClass( "active" );
|
a == "dirs" ? e[a][obj].addClass( "active_arrow" ) : e[a][obj].addClass( "active" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function poweredUp()
|
function poweredUp()
|
||||||
{
|
{
|
||||||
clearEverything();
|
clearEverything();
|
||||||
|
|
||||||
for ( let ant of [ "front", "rear" ] )
|
for ( let ant of [ "front", "rear" ] )
|
||||||
{
|
{
|
||||||
setAntennaXmit( ant, false );
|
setAntennaXmit( ant, false );
|
||||||
setAntennaFastMode( ant, true );
|
setAntennaFastMode( ant, true );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function radarPower( state )
|
function radarPower( state )
|
||||||
{
|
{
|
||||||
state ? poweringUp() : clearEverything();
|
state ? poweringUp() : clearEverything();
|
||||||
}
|
}
|
||||||
|
|
||||||
function menu( optionText, option )
|
function menu( optionText, option )
|
||||||
{
|
{
|
||||||
clearEverything();
|
clearEverything();
|
||||||
|
|
||||||
elements.antennas.front.targetSpeed.html( optionText[0] );
|
elements.antennas.front.targetSpeed.html( optionText[0] );
|
||||||
elements.antennas.front.fastSpeed.html( optionText[1] );
|
elements.antennas.front.fastSpeed.html( optionText[1] );
|
||||||
|
|
||||||
elements.patrolSpeed.html( option );
|
elements.patrolSpeed.html( option );
|
||||||
}
|
}
|
||||||
|
|
||||||
function settingUpdate( ants, fast )
|
function settingUpdate( ants, fast )
|
||||||
{
|
{
|
||||||
for ( let ant in ants )
|
for ( let ant in ants )
|
||||||
{
|
{
|
||||||
setAntennaXmit( ant, ants[ant].xmit );
|
setAntennaXmit( ant, ants[ant].xmit );
|
||||||
setAntennaMode( ant, ants[ant].mode );
|
setAntennaMode( ant, ants[ant].mode );
|
||||||
setAntennaFastMode( ant, fast );
|
setAntennaFastMode( ant, fast );
|
||||||
setAntennaLock( ant, ants[ant].speedLocked );
|
setAntennaLock( ant, ants[ant].speedLocked );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function playAudio( name, vol )
|
function playAudio( name, vol )
|
||||||
{
|
{
|
||||||
let audio = new Audio( audioNames[name] );
|
let audio = new Audio( audioNames[name] );
|
||||||
audio.volume = vol;
|
audio.volume = vol;
|
||||||
audio.play();
|
audio.play();
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is used to send data back through to the LUA side
|
// This function is used to send data back through to the LUA side
|
||||||
function sendData( name, data ) {
|
function sendData( name, data ) {
|
||||||
$.post( "http://" + resourceName + "/" + name, JSON.stringify( data ), function( datab ) {
|
$.post( "http://" + resourceName + "/" + name, JSON.stringify( data ), function( datab ) {
|
||||||
if ( datab != "ok" ) {
|
if ( datab != "ok" ) {
|
||||||
console.log( datab );
|
console.log( datab );
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
// UI stuff
|
// UI stuff
|
||||||
var scale = 1.0
|
var scale = 1.0
|
||||||
|
|
||||||
elements.closeUiBtn.click( function() {
|
elements.closeUiBtn.click( function() {
|
||||||
setUISettingsVisible( false, true );
|
setUISettingsVisible( false, true );
|
||||||
} )
|
} )
|
||||||
|
|
||||||
elements.scale.increase.click( function() {
|
elements.scale.increase.click( function() {
|
||||||
changeScale( 0.05 );
|
changeScale( 0.05 );
|
||||||
} )
|
} )
|
||||||
|
|
||||||
elements.scale.decrease.click( function() {
|
elements.scale.decrease.click( function() {
|
||||||
changeScale( -0.05 );
|
changeScale( -0.05 );
|
||||||
} )
|
} )
|
||||||
|
|
||||||
function setUISettingsVisible( state, remote )
|
function setUISettingsVisible( state, remote )
|
||||||
{
|
{
|
||||||
state ? elements.uiSettingsBox.fadeIn() : elements.uiSettingsBox.fadeOut();
|
state ? elements.uiSettingsBox.fadeIn() : elements.uiSettingsBox.fadeOut();
|
||||||
if ( remote ) { setRemoteVisible( !state ); }
|
if ( remote ) { setRemoteVisible( !state ); }
|
||||||
}
|
}
|
||||||
|
|
||||||
function hideUISettings()
|
function hideUISettings()
|
||||||
{
|
{
|
||||||
if ( !elements.uiSettingsBox.is( ":hidden" ) ) {
|
if ( !elements.uiSettingsBox.is( ":hidden" ) ) {
|
||||||
elements.uiSettingsBox.hide();
|
elements.uiSettingsBox.hide();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function changeScale( amount )
|
function changeScale( amount )
|
||||||
{
|
{
|
||||||
scale = clamp( scale + amount, 0.25, 2.5 );
|
scale = clamp( scale + amount, 0.25, 2.5 );
|
||||||
elements.radar.css( "transform", "scale(" + scale + ")" );
|
elements.radar.css( "transform", "scale(" + scale + ")" );
|
||||||
elements.scale.display.html( scale.toFixed( 2 ) + "x" );
|
elements.scale.display.html( scale.toFixed( 2 ) + "x" );
|
||||||
}
|
}
|
||||||
|
|
||||||
function clamp( num, min, max )
|
function clamp( num, min, max )
|
||||||
{
|
{
|
||||||
return num < min ? min : num > max ? max : num;
|
return num < min ? min : num > max ? max : num;
|
||||||
}
|
}
|
||||||
|
|
||||||
elements.uiSettingsBox.find( "button" ).each( function( i, obj ) {
|
elements.uiSettingsBox.find( "button" ).each( function( i, obj ) {
|
||||||
if ( $( this ).attr( "data-value" ) && $( this ).attr( "data-scale" ) ) {
|
if ( $( this ).attr( "data-value" ) && $( this ).attr( "data-scale" ) ) {
|
||||||
$( this ).click( function() {
|
$( this ).click( function() {
|
||||||
let align = $( this ).data( "value" );
|
let align = $( this ).data( "value" );
|
||||||
let origin = $( this ).data( "scale" );
|
let origin = $( this ).data( "scale" );
|
||||||
|
|
||||||
elements.radar.removeClass().addClass( align );
|
elements.radar.removeClass().addClass( align );
|
||||||
elements.radar.css( "transform-origin", origin );
|
elements.radar.css( "transform-origin", origin );
|
||||||
} )
|
} )
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
|
|
||||||
// This runs when the JS file is loaded, loops through all of the remote buttons and assigns them an onclick function
|
// This runs when the JS file is loaded, loops through all of the remote buttons and assigns them an onclick function
|
||||||
elements.remote.find( "button" ).each( function( i, obj ) {
|
elements.remote.find( "button" ).each( function( i, obj ) {
|
||||||
if ( $( this ).attr( "data-nuitype" ) ) {
|
if ( $( this ).attr( "data-nuitype" ) ) {
|
||||||
$( this ).click( function() {
|
$( this ).click( function() {
|
||||||
let type = $( this ).data( "nuitype" );
|
let type = $( this ).data( "nuitype" );
|
||||||
let value = $( this ).attr( "data-value" ) ? $( this ).data( "value" ) : null;
|
let value = $( this ).attr( "data-value" ) ? $( this ).data( "value" ) : null;
|
||||||
let mode = $( this ).attr( "data-mode" ) ? $( this ).data( "mode" ) : null;
|
let mode = $( this ).attr( "data-mode" ) ? $( this ).data( "mode" ) : null;
|
||||||
|
|
||||||
sendData( type, { value, mode } );
|
sendData( type, { value, mode } );
|
||||||
} )
|
} )
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
|
|
||||||
// Close the remote when the user presses the 'Escape' key or the right mouse button
|
// Close the remote when the user presses the 'Escape' key or the right mouse button
|
||||||
document.onkeyup = function( event )
|
document.onkeyup = function( event )
|
||||||
{
|
{
|
||||||
if ( event.keyCode == 27 )
|
if ( event.keyCode == 27 )
|
||||||
{
|
{
|
||||||
sendData( "closeRemote", null );
|
sendData( "closeRemote", null );
|
||||||
setRemoteVisible( false );
|
setRemoteVisible( false );
|
||||||
setUISettingsVisible( false, false );
|
setUISettingsVisible( false, false );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
window.oncontextmenu = function()
|
window.oncontextmenu = function()
|
||||||
{
|
{
|
||||||
sendData( "closeRemote", null );
|
sendData( "closeRemote", null );
|
||||||
setRemoteVisible( false );
|
setRemoteVisible( false );
|
||||||
setUISettingsVisible( false, false );
|
setUISettingsVisible( false, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
// The main event listener, this is what the NUI messages sent by the LUA side arrive at, they are
|
// The main event listener, this is what the NUI messages sent by the LUA side arrive at, they are
|
||||||
// then handled properly via a switch/case that runs the relevant code
|
// then handled properly via a switch/case that runs the relevant code
|
||||||
window.addEventListener( "message", function( event ) {
|
window.addEventListener( "message", function( event ) {
|
||||||
var item = event.data;
|
var item = event.data;
|
||||||
var type = event.data._type;
|
var type = event.data._type;
|
||||||
|
|
||||||
switch ( type ) {
|
switch ( type ) {
|
||||||
case "updatePathName":
|
case "updatePathName":
|
||||||
resourceName = item.pathName
|
resourceName = item.pathName
|
||||||
break;
|
break;
|
||||||
case "openRemote":
|
case "openRemote":
|
||||||
setRemoteVisible( true );
|
setRemoteVisible( true );
|
||||||
break;
|
break;
|
||||||
case "toggleDisplay":
|
case "toggleDisplay":
|
||||||
setRadarVisible( item.state );
|
setRadarVisible( item.state );
|
||||||
break;
|
break;
|
||||||
case "radarPower":
|
case "radarPower":
|
||||||
radarPower( item.state );
|
radarPower( item.state );
|
||||||
break;
|
break;
|
||||||
case "poweredUp":
|
case "poweredUp":
|
||||||
poweredUp();
|
poweredUp();
|
||||||
break;
|
break;
|
||||||
case "update":
|
case "update":
|
||||||
updateDisplays( item.speed, item.antennas );
|
updateDisplays( item.speed, item.antennas );
|
||||||
break;
|
break;
|
||||||
case "antennaXmit":
|
case "antennaXmit":
|
||||||
setAntennaXmit( item.ant, item.on );
|
setAntennaXmit( item.ant, item.on );
|
||||||
break;
|
break;
|
||||||
case "antennaMode":
|
case "antennaMode":
|
||||||
setAntennaMode( item.ant, item.mode );
|
setAntennaMode( item.ant, item.mode );
|
||||||
break;
|
break;
|
||||||
case "antennaLock":
|
case "antennaLock":
|
||||||
setAntennaLock( item.ant, item.state );
|
setAntennaLock( item.ant, item.state );
|
||||||
break;
|
break;
|
||||||
case "menu":
|
case "menu":
|
||||||
menu( item.text, item.option );
|
menu( item.text, item.option );
|
||||||
break;
|
break;
|
||||||
case "settingUpdate":
|
case "settingUpdate":
|
||||||
settingUpdate( item.antennaData, item.fast );
|
settingUpdate( item.antennaData, item.fast );
|
||||||
break;
|
break;
|
||||||
case "audio":
|
case "audio":
|
||||||
playAudio( item.name, item.vol );
|
playAudio( item.name, item.vol );
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
Reference in New Issue
Block a user