Indentation

This commit is contained in:
Dan
2019-12-08 00:35:13 +00:00
parent 861f5663e1
commit e9c89b857d
6 changed files with 868 additions and 868 deletions

View File

@@ -1,7 +1,7 @@
--[[----------------------------------------------------------------------- --[[-----------------------------------------------------------------------
Wraith ARS 2X Wraith ARS 2X
Created by WolfKnight Created by WolfKnight
-----------------------------------------------------------------------]]-- -----------------------------------------------------------------------]]--

View File

@@ -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

View File

@@ -1,7 +1,7 @@
--[[------------------------------------------------------------------------ --[[------------------------------------------------------------------------
Wraith ARS 2X Wraith ARS 2X
Created by WolfKnight Created by WolfKnight
------------------------------------------------------------------------]]-- ------------------------------------------------------------------------]]--

File diff suppressed because it is too large Load Diff

View File

@@ -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>

View File

@@ -1,10 +1,10 @@
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
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!
-------------------------------------------------------------------------*/ -------------------------------------------------------------------------*/
@@ -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;
} }
} ); } );