mirror of
https://github.com/Michatec/wk_wars2x.git
synced 2026-04-01 08:26:27 +02:00
Radar display now hides when needed
This commit is contained in:
62
cl_radar.lua
62
cl_radar.lua
@@ -43,10 +43,16 @@ PLY.vehClassValid = false
|
|||||||
------------------------------------------------------------------------]]--
|
------------------------------------------------------------------------]]--
|
||||||
RADAR.vars =
|
RADAR.vars =
|
||||||
{
|
{
|
||||||
|
-- The display state
|
||||||
|
displayed = false,
|
||||||
|
|
||||||
-- The radar's power
|
-- The radar's power
|
||||||
power = false,
|
power = false,
|
||||||
poweringUp = false,
|
poweringUp = false,
|
||||||
|
|
||||||
|
-- Whether the radar is hidden or not
|
||||||
|
hidden = false,
|
||||||
|
|
||||||
-- These are the settings that are used in the operator menu
|
-- These are the settings that are used in the operator menu
|
||||||
settings = {
|
settings = {
|
||||||
["fastDisplay"] = true,
|
["fastDisplay"] = true,
|
||||||
@@ -188,6 +194,15 @@ function RADAR:TogglePower()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function RADAR:ToggleDisplayState()
|
||||||
|
self.vars.displayed = not self.vars.displayed
|
||||||
|
SendNUIMessage( { _type = "toggleDisplay" } )
|
||||||
|
end
|
||||||
|
|
||||||
|
function RADAR:GetDisplayState()
|
||||||
|
return self.vars.displayed
|
||||||
|
end
|
||||||
|
|
||||||
function RADAR:SetSettingValue( setting, value )
|
function RADAR:SetSettingValue( setting, value )
|
||||||
if ( value ~= nil ) then
|
if ( value ~= nil ) then
|
||||||
self.vars.settings[setting] = value
|
self.vars.settings[setting] = value
|
||||||
@@ -229,6 +244,21 @@ function RADAR:SetThreadWaitTime( time )
|
|||||||
self.vars.threadWaitTime = time
|
self.vars.threadWaitTime = time
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function RADAR:SetDisplayHidden( state )
|
||||||
|
self.vars.hidden = state
|
||||||
|
end
|
||||||
|
|
||||||
|
function RADAR:GetDisplayHidden()
|
||||||
|
return self.vars.hidden
|
||||||
|
end
|
||||||
|
|
||||||
|
function RADAR:OpenRemote()
|
||||||
|
if ( not IsPauseMenuActive() ) then
|
||||||
|
SendNUIMessage( { _type = "openRemote" } )
|
||||||
|
SetNuiFocus( true, true )
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
--[[------------------------------------------------------------------------
|
--[[------------------------------------------------------------------------
|
||||||
Radar menu functions
|
Radar menu functions
|
||||||
@@ -811,8 +841,7 @@ function RADAR:RunControlManager()
|
|||||||
end
|
end
|
||||||
|
|
||||||
if ( IsDisabledControlJustPressed( 1, 166 ) ) then
|
if ( IsDisabledControlJustPressed( 1, 166 ) ) then
|
||||||
SendNUIMessage( { _type = "openRemote" } )
|
self:OpenRemote()
|
||||||
SetNuiFocus( true, true )
|
|
||||||
end
|
end
|
||||||
|
|
||||||
if ( IsDisabledControlJustPressed( 1, 117 ) ) then
|
if ( IsDisabledControlJustPressed( 1, 117 ) ) then
|
||||||
@@ -840,6 +869,10 @@ end
|
|||||||
--[[------------------------------------------------------------------------
|
--[[------------------------------------------------------------------------
|
||||||
NUI callback
|
NUI callback
|
||||||
------------------------------------------------------------------------]]--
|
------------------------------------------------------------------------]]--
|
||||||
|
RegisterNUICallback( "toggleDisplay", function()
|
||||||
|
RADAR:ToggleDisplayState()
|
||||||
|
end )
|
||||||
|
|
||||||
RegisterNUICallback( "togglePower", function()
|
RegisterNUICallback( "togglePower", function()
|
||||||
RADAR:TogglePower()
|
RADAR:TogglePower()
|
||||||
end )
|
end )
|
||||||
@@ -887,7 +920,7 @@ end )
|
|||||||
|
|
||||||
|
|
||||||
--[[------------------------------------------------------------------------
|
--[[------------------------------------------------------------------------
|
||||||
Main function
|
Main threads
|
||||||
------------------------------------------------------------------------]]--
|
------------------------------------------------------------------------]]--
|
||||||
function RADAR:RunDynamicThreadWaitCheck()
|
function RADAR:RunDynamicThreadWaitCheck()
|
||||||
local speed = self:GetPatrolSpeed()
|
local speed = self:GetPatrolSpeed()
|
||||||
@@ -1021,10 +1054,33 @@ Citizen.CreateThread( function()
|
|||||||
PLY.inDriverSeat = GetPedInVehicleSeat( PLY.veh, -1 ) == PLY.ped
|
PLY.inDriverSeat = GetPedInVehicleSeat( PLY.veh, -1 ) == PLY.ped
|
||||||
PLY.vehClassValid = GetVehicleClass( PLY.veh ) == 18
|
PLY.vehClassValid = GetVehicleClass( PLY.veh ) == 18
|
||||||
|
|
||||||
|
print( tostring( PLY.ped ) )
|
||||||
|
print( tostring( PLY.veh ) )
|
||||||
|
print( tostring( PLY.inDriverSeat ) )
|
||||||
|
print( tostring( PLY.vehClassValid ) )
|
||||||
|
|
||||||
Citizen.Wait( 500 )
|
Citizen.Wait( 500 )
|
||||||
end
|
end
|
||||||
end )
|
end )
|
||||||
|
|
||||||
|
function RADAR:RunDisplayValidationCheck()
|
||||||
|
if ( ( ( PLY.veh == 0 or ( PLY.veh ~= 0 and not PLY.vehClassValid ) ) and self:GetDisplayState() and not self:GetDisplayHidden() ) or IsPauseMenuActive() and self:GetDisplayState() ) then
|
||||||
|
self:SetDisplayHidden( true )
|
||||||
|
SendNUIMessage( { _type = "hideDisplay", state = true } )
|
||||||
|
elseif ( PLY.veh ~= 0 and PLY.vehClassValid and self:GetDisplayState() and self:GetDisplayHidden() ) then
|
||||||
|
self:SetDisplayHidden( false )
|
||||||
|
SendNUIMessage( { _type = "hideDisplay", state = false } )
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
Citizen.CreateThread( function()
|
||||||
|
while ( true ) do
|
||||||
|
RADAR:RunDisplayValidationCheck()
|
||||||
|
|
||||||
|
Citizen.Wait( 0 )
|
||||||
|
end
|
||||||
|
end )
|
||||||
|
|
||||||
-- Update the vehicle pool every 3 seconds
|
-- Update the vehicle pool every 3 seconds
|
||||||
Citizen.CreateThread( function()
|
Citizen.CreateThread( function()
|
||||||
while ( true ) do
|
while ( true ) do
|
||||||
|
|||||||
@@ -112,7 +112,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="rc">
|
<div id="rc">
|
||||||
<button id="toggleDisplay" class="rounded_btn toggle_display">TOGGLE DISPLAY</button>
|
<button id="toggleDisplay" data-nuitype="toggleDisplay" class="rounded_btn toggle_display">TOGGLE DISPLAY</button>
|
||||||
|
|
||||||
<p class="label">FRONT ANTENNA</p>
|
<p class="label">FRONT ANTENNA</p>
|
||||||
|
|
||||||
|
|||||||
18
nui/radar.js
18
nui/radar.js
@@ -95,20 +95,16 @@ const dirs =
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 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
|
||||||
// elements.radar.hide();
|
elements.radar.hide();
|
||||||
elements.remote.hide();
|
elements.remote.hide();
|
||||||
|
|
||||||
// Create the onclick event for the toggle display button
|
|
||||||
elements.toggleDisplay.click( function() {
|
|
||||||
toggleRadar();
|
|
||||||
} )
|
|
||||||
|
|
||||||
elements.pwrBtn.click( function() {
|
elements.pwrBtn.click( function() {
|
||||||
togglePower();
|
togglePower();
|
||||||
} )
|
} )
|
||||||
|
|
||||||
function toggleRadar()
|
function toggleRadar( state )
|
||||||
{
|
{
|
||||||
|
// state ? elements.radar.fadeIn() : elements.radar.fadeOut();
|
||||||
elements.radar.fadeToggle();
|
elements.radar.fadeToggle();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -127,10 +123,8 @@ function setLight( ant, cat, item, state )
|
|||||||
let obj = elements.antennas[ant][cat][item];
|
let obj = elements.antennas[ant][cat][item];
|
||||||
|
|
||||||
if ( state ) {
|
if ( state ) {
|
||||||
// if ( cat == "dirs" ) { obj.addClass( "active_arrow" ) } else { obj.addClass( "active" ) };
|
|
||||||
cat == "dirs" ? obj.addClass( "active_arrow" ) : obj.addClass( "active" );
|
cat == "dirs" ? obj.addClass( "active_arrow" ) : obj.addClass( "active" );
|
||||||
} else {
|
} else {
|
||||||
// if ( cat == "dirs" ) { obj.removeClass( "active_arrow" ) } else { obj.removeClass( "active" ) };
|
|
||||||
cat == "dirs" ? obj.removeClass( "active_arrow" ) : obj.removeClass( "active" );
|
cat == "dirs" ? obj.removeClass( "active_arrow" ) : obj.removeClass( "active" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -349,6 +343,12 @@ window.addEventListener( "message", function( event ) {
|
|||||||
case "openRemote":
|
case "openRemote":
|
||||||
toggleRemote();
|
toggleRemote();
|
||||||
break;
|
break;
|
||||||
|
case "toggleDisplay":
|
||||||
|
toggleRadar( item.state );
|
||||||
|
break;
|
||||||
|
case "hideDisplay":
|
||||||
|
item.state ? elements.radar.fadeOut() : elements.radar.fadeIn();
|
||||||
|
break;
|
||||||
case "radarPower":
|
case "radarPower":
|
||||||
radarPower( item.state );
|
radarPower( item.state );
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user