Display the formations panel if and only if the selected units can enter a formation (instead of hiding it if any domestic animal is part of the selection).

Differential Revision: https://code.wildfiregames.com/D191
Reviewed By: mimo
This was SVN commit r19311.
This commit is contained in:
elexis 2017-03-17 22:46:42 +00:00
parent 4bcae3190b
commit 33a0af2e57

View File

@ -387,11 +387,19 @@ g_SelectionPanels.Formation = {
"conflictsWith": ["Garrison"],
"getItems": function(unitEntStates)
{
if (unitEntStates.some(state => !hasClass(state, "Unit") || hasClass(state, "Animal")))
if (unitEntStates.some(state => !hasClass(state, "Unit")))
return [];
if (!g_AvailableFormations.has(unitEntStates[0].player))
g_AvailableFormations.set(unitEntStates[0].player, Engine.GuiInterfaceCall("GetAvailableFormations", unitEntStates[0].player));
return g_AvailableFormations.get(unitEntStates[0].player);
let availableFormations = g_AvailableFormations.get(unitEntStates[0].player);
// Hide the panel if all formations are disabled
if (availableFormations.some(formation => canMoveSelectionIntoFormation(formation)))
return availableFormations;
return [];
},
"setupButton": function(data)
{