Lua:Tutorial GettingStarted
From Spring
Development < Lua Scripting < Lua:Tutorial GettingStarted
Here are some examples of small widgets, with useful code to get you started! To play with each example, place the code into a "my_new_widget_name.lua" file in your Spring/LuaUI/widgets dir (create it if not already present) and run Spring with any game. Your widget should then appear ingame!
To see many more examples, check out the Luaui/widgets directory of the games in PublicRepos.
function widget:GetInfo()
return {
name = "Name as shown in widget list",
desc = "Description as normally shown in tooltip",
author = "It could be you!",
date = "now",
license = "PD", -- should be compatible with Spring
layer = 0,
enabled = true
}
end
local helloWorld = "I STARTED LOOK AT ME JIM!"
local toggle
function widget:Initialize()
Spring.Echo(helloWorld)
end
function widget:Update(frame)
if (toggle == true) then
Spring.Echo("TOCK")
toggle = false
else
Spring.Echo("TICK")
toggle = true
end
end
function widget:GetInfo()
return {
name = "Unit Announcer",
desc = "Units are proud to be alive",
author = "Some guy",
date = "I don't know why we include dates",
license = "GPLv2 or later",
layer = 0,
enabled = true
}
end
function widget:UnitCreated(unitID, unitDefID, unitTeam, builderID)
Spring.Echo("HELLO")
local humanName = UnitDefs[unitDefID].humanName
Spring.Echo("I am a " .. humanName)
local numWeapons = #UnitDefs[unitDefID].weapons
Spring.Echo("I have " .. numWeapons .. " weapon .. (numWeapons>0 and "s" or ""))
if numWeaponders>0 then
Spring.Echo("FEAR ME")
end
end