Chili:Adding To Game: Difference between revisions

From Spring
Jump to navigationJump to search
add widget to remove default GUI
mNo edit summary
Line 55: Line 55:


function widget:GameSetup()
function widget:GameSetup()
   return true, true -- sets status instantly to ready & hides the pre-game UI
   -- sets status instantly to ready & hides the pre-game UI
  -- you might want/need to change this part & integrate it into your spawning gadget!
  return true, true
end
end


</pre></code>
</pre></code>

Revision as of 11:14, 31 August 2015

Getting Chili

The Chili repository can be found at https://github.com/jk3064/chiliui. There are two ways to add Chili to your game:

  • Include the Chili repository as a git submodule in your project.
  • Checkout the Chili repository, and manually place the files & subdirs from its /luaui/chili directory into your games /luaui/widgets directory.

If you are having trouble getting Chili to run, login to the lobby and join the #moddev channel (type /j moddev). People there will help you figure it out.


Chili interaction with game internals

The Chili library is, basically, a very big widget. It is loaded as a widget by the widget handler, and it makes its functions accessible via WG. This allows 'normal' widgets to use Chili - a widget may call a function from inside WG.Chili, which instructs the chili library to create/modify a particular GUI element.


Hiding the default GUI

Most games using Chili will remove Springs basic 'default' GUI. This can be done with the following widget - you may need to edit it slightly to match your widget/addon handler.

function widget:GetInfo()
  return {
    name      = "Hides the default interface",
    desc      = "",
    author    = "gajop, Bluestone",
    date      = "",
    license   = "GPL-v2",
    layer     = math.huge;
    enabled   = true,
    
    hidden    = true; -- don't show in the widget selector
    api       = true; -- load before all others?
  }
end

function widget:Initialize()
  RegisterGlobal("LayoutButtons", DummyLayoutHandler)

  Spring.SendCommands("Console 0")
  Spring.SendCommands("ResBar 0")
  Spring.SendCommands("ToolTip 0")
  Spring.SendCommands("Clock 0")
  Spring.SendCommands("Info 0")

  gl.SlaveMiniMap(true)
  gl.ConfigMiniMap(-1,-1,-1,-1)
end

local function DummyLayoutHandler(xIcons, yIcons, cmdCount, commands)
  handler.commands   = commands
  handler.commands.n = cmdCount
  handler:CommandsChanged()
  return "", xIcons, yIcons, {}, {}, {}, {}, {}, {}, {}, {}
end

function widget:GameSetup()
  -- sets status instantly to ready & hides the pre-game UI
  -- you might want/need to change this part & integrate it into your spawning gadget!
  return true, true 
end