function gadget:GetInfo()
return {
name = "Radar Command",
desc = "Implements Radar command",
author = "Von66341",
date = "07/03/2011",
license = "",
layer = -5,
enabled = true -- loaded by default?
}
end
-- Constants
local CMD_RADAR = 35525
local radarCmdDesc = {
id = CMD_RADAR,
type = CMDTYPE.ICON_MODE,
name = "Radar",
--action = "Radar",
tooltip = "Radar On/Off",
params = {'0','Radar Off','Radar On'},
texture = "UI/buttons/cmd_radaroff.png",
}
if (gadgetHandler:IsSyncedCode()) then
-- SYNCED
function gadget:Initialize()
gadgetHandler:RegisterCMDID(CMD_RADAR)
end
function gadget:UnitCreated(unitID, unitDefID, unitTeam, builderID)
local ud = UnitDefs[unitDefID]
if ud.customParams.hasradarbutton then
Spring.InsertUnitCmdDesc(unitID, CMD_RADAR, radarCmdDesc)
Spring.SetUnitAlwaysVisible(unitID, false)
end
end
function gadget:AllowCommand(unitID, unitDefID, teamID, cmdID, cmdParams, cmdOptions)
if cmdID == CMD_RADAR then
local ud = UnitDefs[unitDefID]
local radarCmdDescID = Spring.FindUnitCmdDesc(unitID, CMD_RADAR)
local radius = Spring.GetUnitSensorRadius(unitID,"radar")
--Spring.Echo(ud.customParams.radarsize)
if(radius==0) then
Spring.SetUnitSensorRadius(unitID,"radar",ud.customParams.radarsize)
Spring.Echo("Radar is on")
Spring.EditUnitCmdDesc(unitID, radarCmdDescID, { texture="UI/buttons/cmd_radaron.png",})
Spring.SetUnitAlwaysVisible(unitID, true) --unit type and location is reveal when radar is on
else
Spring.SetUnitSensorRadius(unitID,"radar",0)
Spring.Echo("Radar is off")
Spring.EditUnitCmdDesc(unitID, radarCmdDescID, { texture="UI/buttons/cmd_radaroff.png",})
Spring.SetUnitAlwaysVisible(unitID, false) --reveal is stop when radar is off
end
radarCmdDesc.params[1] = cmdParams[1]
--Spring.EditUnitCmdDesc(unitID, radarCmdDescID, radarCmdDesc)
Spring.EditUnitCmdDesc(unitID, radarCmdDescID, { params = radarCmdDesc.params})
end
return true
end
end