Ticket #1849: darkenUnavailable.patch

File darkenUnavailable.patch, 4.4 KB (added by wraitii, 11 years ago)
  • binaries/data/mods/public/gui/session/unit_commands.js

     
    664664        {
    665665            var grayscale = "";
    666666            button.enabled = true;
     667            affordableMask.hidden = true;
    667668           
    668669            if (guiName != SELECTION && guiName != GARRISON && template.requiredTechnology && !Engine.GuiInterfaceCall("IsTechnologyResearched", template.requiredTechnology))
    669670            {
     
    671672                var techName = getEntityNames(GetTechnologyData(template.requiredTechnology));
    672673                button.tooltip += "\nRequires " + techName;
    673674                grayscale = "grayscale:";
     675                affordableMask.hidden = false;
     676                affordableMask.sprite = "colour: 0 0 0 127";
    674677            }
    675678           
    676679            if (guiName == RESEARCH && !Engine.GuiInterfaceCall("CheckTechnologyRequirements", entType))
     
    678681                button.enabled = false;
    679682                button.tooltip += "\n" + GetTechnologyData(entType).requirementsTooltip;
    680683                grayscale = "grayscale:";
     684                affordableMask.hidden = false;
     685                affordableMask.sprite = "colour: 0 0 0 127";
    681686            }
    682687           
    683688            icon.sprite = "stretched:" + grayscale + "session/portraits/" + template.icon;
     
    685690            if (guiName == RESEARCH)
    686691            {
    687692                // Check resource requirements for first button
    688                 affordableMask.hidden = true;
    689693                var neededResources = Engine.GuiInterfaceCall("GetNeededResources", template.cost);
    690694                if (neededResources)
    691695                {
     
    693697                    {
    694698                        button.enabled = false;
    695699                        affordableMask.hidden = false;
     700                        affordableMask.sprite = "colour: 255 0 0 127";
    696701                    }
    697702                    button.tooltip += getNeededResourcesTooltip(neededResources);
    698703                }
    699 
     704               
    700705                if (item.pair)
    701706                {
    702707                    grayscale = "";
    703708                    button1.enabled = true;
    704 
     709                   
    705710                    if (!Engine.GuiInterfaceCall("CheckTechnologyRequirements", entType1))
    706711                    {
    707712                        button1.enabled = false;
    708713                        button1.tooltip += "\n" + GetTechnologyData(entType1).requirementsTooltip;
    709714                        grayscale = "grayscale:";
     715                        affordableMask1.hidden = false;
     716                        affordableMask1.sprite = "colour: 0 0 0 127";
     717                       
    710718                    }
    711719                    icon1.sprite = "stretched:" + grayscale + "session/portraits/" +template1.icon;
    712 
     720                   
    713721                    // Check resource requirements for second button
    714722                    affordableMask1.hidden = true;
    715723                    neededResources = Engine.GuiInterfaceCall("GetNeededResources", template1.cost);
     
    719727                        {
    720728                            button1.enabled = false;
    721729                            affordableMask1.hidden = false;
     730                            affordableMask1.sprite = "colour: 255 0 0 127";
    722731                        }
    723732                        button1.tooltip += getNeededResourcesTooltip(neededResources);
    724733                    }
     
    732741            }
    733742            else if (guiName == CONSTRUCTION || guiName == TRAINING)
    734743            {
    735                 affordableMask.hidden = true;
    736744                var totalCosts = {};
    737745                var trainNum = 1;
    738746                var button_disableable = true;
     
    745753                        playerState.entityCounts[trainingCategory] >= playerState.entityLimits[trainingCategory])
    746754                        grayscale = "grayscale:";
    747755                    icon.sprite = "stretched:" + grayscale + "session/portraits/" + template.icon;
    748 
     756                   
    749757                    if (Engine.HotkeyIsPressed("session.batchtrain"))
    750758                    {
    751759                        var [buildingsCountToTrainFullBatch, fullBatchSize, remainderBatch, batchTrainingCount] =
    752                             getTrainingBatchStatus(playerState, unitEntState.id, entType, selection);
     760                        getTrainingBatchStatus(playerState, unitEntState.id, entType, selection);
    753761                        trainNum = buildingsCountToTrainFullBatch * fullBatchSize + remainderBatch;
    754762                        button_disableable = !Engine.HotkeyIsPressed("selection.remove");
    755763                    }
    756764                    getGUIObjectByName("unit"+guiName+"Count["+i+"]").caption = (batchTrainingCount > 0) ? batchTrainingCount : "";
    757765                }
    758 
     766               
    759767                // Walls have no cost defined.
    760768                if (template.cost !== undefined)
    761769                    totalCosts = multiplyEntityCosts(template, trainNum);
    762 
     770               
    763771                var neededResources = Engine.GuiInterfaceCall("GetNeededResources", totalCosts);
    764772                if (neededResources)
    765773                {
     
    768776                    {
    769777                        for each (var resource in neededResources)
    770778                            totalCost += resource;
    771 
     779                       
    772780                        button.enabled = (button_disableable ? false : true);
    773781                        affordableMask.hidden = false;
    774782                        var alpha = 75 + totalCost/6;