Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 12th, 2011  |  syntax: Lua  |  size: 2.02 KB  |  hits: 57  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. function gadget:GetInfo()
  2.         return {
  3.                 name      = "Radar Command",
  4.                 desc      = "Implements Radar command",
  5.                 author    = "Von66341",
  6.                 date      = "07/03/2011",
  7.                 license   = "",
  8.                 layer     = -5,
  9.                 enabled   = true  --  loaded by default?
  10.         }
  11. end
  12.  
  13. -- Constants
  14. local CMD_RADAR = 35525
  15.  
  16. local radarCmdDesc = {
  17.         id = CMD_RADAR,
  18.         type = CMDTYPE.ICON_MODE,
  19.         name = "Radar",
  20.         --action = "Radar",
  21.         tooltip = "Radar On/Off",
  22.         params = {'0','Radar Off','Radar On'},
  23.         texture = "UI/buttons/cmd_radaroff.png",
  24. }
  25.  
  26. if (gadgetHandler:IsSyncedCode()) then
  27. -- SYNCED
  28.  
  29. function gadget:Initialize()
  30.         gadgetHandler:RegisterCMDID(CMD_RADAR)
  31. end
  32.  
  33. function gadget:UnitCreated(unitID, unitDefID, unitTeam, builderID)
  34.         local ud = UnitDefs[unitDefID]
  35.         if ud.customParams.hasradarbutton then
  36.                 Spring.InsertUnitCmdDesc(unitID, CMD_RADAR, radarCmdDesc)
  37.                 Spring.SetUnitAlwaysVisible(unitID, false)
  38.         end
  39. end
  40.  
  41. function gadget:AllowCommand(unitID, unitDefID, teamID, cmdID, cmdParams, cmdOptions)
  42.         if cmdID == CMD_RADAR then
  43.         local ud = UnitDefs[unitDefID]
  44.         local radarCmdDescID = Spring.FindUnitCmdDesc(unitID, CMD_RADAR)
  45.         local radius = Spring.GetUnitSensorRadius(unitID,"radar")
  46.         --Spring.Echo(ud.customParams.radarsize)
  47.                 if(radius==0) then
  48.                         Spring.SetUnitSensorRadius(unitID,"radar",ud.customParams.radarsize)
  49.                         Spring.Echo("Radar is on")
  50.                        
  51.                         Spring.EditUnitCmdDesc(unitID, radarCmdDescID, { texture="UI/buttons/cmd_radaron.png",})
  52.                         Spring.SetUnitAlwaysVisible(unitID, true) --unit type and location is reveal when radar is on
  53.                 else
  54.                         Spring.SetUnitSensorRadius(unitID,"radar",0)
  55.                         Spring.Echo("Radar is off")
  56.                        
  57.                         Spring.EditUnitCmdDesc(unitID, radarCmdDescID, { texture="UI/buttons/cmd_radaroff.png",})
  58.                         Spring.SetUnitAlwaysVisible(unitID, false) --reveal is stop when radar is off
  59.                 end
  60.                         radarCmdDesc.params[1] = cmdParams[1]
  61.                         --Spring.EditUnitCmdDesc(unitID, radarCmdDescID, radarCmdDesc)
  62.                         Spring.EditUnitCmdDesc(unitID, radarCmdDescID, { params = radarCmdDesc.params})
  63.         end
  64.         return true
  65. end
  66.  
  67. end