Jump to content

GUI Session Panels problem adjusting icon spacing.


Adriano0ad
 Share

Recommended Posts

Hi @Adriano0ad

I'm guessing what you mean is that you resized the panel and now you want icons to fit better in the panel.
 

The spacing is calculated dynamically so you should only have to increase the number of items per row. In the selection_panels.js for example :

g_SelectionPanels.Construction = {
	"getMaxNumberOfItems": function()
	{
		return 40 - getNumberOfRightPanelButtons();
	},
	"rowLength": 10, // <<<< INCREASE THIS NUMBER to 12 for example
	"getItems": function()
	{ ... 

 

  • Thanks 2
Link to comment
Share on other sites

Hi @Adriano0ad,

Here is a solution if you want to control the margin between buttons dynamically. No file replacement needed.

If you want to change the margin for all panels:

setPanelObjectPosition = new Proxy(setPanelObjectPosition, {apply: function(target, thisArg, args) {

    const vMargin = 3; // Vertical margin between buttons
    const hMargin = 3; // Horizontal margin between buttons

    target(args[0], args[1], args[2], vMargin, hMargin);
}});

and place this code in a new file gui/session/unit_commands~MyMod.js.

 

If instead, you want to change the margin for one/some panel(s) only (f.e. "Construction" panel):

g_SelectionPanels.Construction.setupButton = new Proxy(g_SelectionPanels.Construction.setupButton, {apply: function(target, thisArg, args) {

    const ret = target(...args); // Run original function

    const vMargin = 3; // Vertical margin between buttons
    const hMargin = 3; // Horizontal margin between buttons

    const data = args[0];
    setPanelObjectPosition(data.button, data.i + getNumberOfRightPanelButtons(), data.rowLength, vMargin, hMargin);

    return ret;
}});

and place this code in a new file gui/session/selection_panels~MyMod.js.

  • Thanks 1
Link to comment
Share on other sites

Ah, I was wrong indeed, thanks @Mentula, the items margins aren't calculated dynamically relative to the containers size.
Unlikely that you want to create proxies to re-overwrite them thoughts, if you changed them or if there is a issue with the icon size, better fix it.

  • Thanks 1
Link to comment
Share on other sites

Thank you very much for the explanations. I ended up uninstalling and reinstalling the game to get it back to normal haha. Now you can try modifying the layout and adjusting a few things again. Thanks for the help, and I'll come back and share the results later =D

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...