Ticket #1849: darkenUnavailable.patch
File darkenUnavailable.patch, 4.4 KB (added by , 11 years ago) |
---|
-
binaries/data/mods/public/gui/session/unit_commands.js
664 664 { 665 665 var grayscale = ""; 666 666 button.enabled = true; 667 affordableMask.hidden = true; 667 668 668 669 if (guiName != SELECTION && guiName != GARRISON && template.requiredTechnology && !Engine.GuiInterfaceCall("IsTechnologyResearched", template.requiredTechnology)) 669 670 { … … 671 672 var techName = getEntityNames(GetTechnologyData(template.requiredTechnology)); 672 673 button.tooltip += "\nRequires " + techName; 673 674 grayscale = "grayscale:"; 675 affordableMask.hidden = false; 676 affordableMask.sprite = "colour: 0 0 0 127"; 674 677 } 675 678 676 679 if (guiName == RESEARCH && !Engine.GuiInterfaceCall("CheckTechnologyRequirements", entType)) … … 678 681 button.enabled = false; 679 682 button.tooltip += "\n" + GetTechnologyData(entType).requirementsTooltip; 680 683 grayscale = "grayscale:"; 684 affordableMask.hidden = false; 685 affordableMask.sprite = "colour: 0 0 0 127"; 681 686 } 682 687 683 688 icon.sprite = "stretched:" + grayscale + "session/portraits/" + template.icon; … … 685 690 if (guiName == RESEARCH) 686 691 { 687 692 // Check resource requirements for first button 688 affordableMask.hidden = true;689 693 var neededResources = Engine.GuiInterfaceCall("GetNeededResources", template.cost); 690 694 if (neededResources) 691 695 { … … 693 697 { 694 698 button.enabled = false; 695 699 affordableMask.hidden = false; 700 affordableMask.sprite = "colour: 255 0 0 127"; 696 701 } 697 702 button.tooltip += getNeededResourcesTooltip(neededResources); 698 703 } 699 704 700 705 if (item.pair) 701 706 { 702 707 grayscale = ""; 703 708 button1.enabled = true; 704 709 705 710 if (!Engine.GuiInterfaceCall("CheckTechnologyRequirements", entType1)) 706 711 { 707 712 button1.enabled = false; 708 713 button1.tooltip += "\n" + GetTechnologyData(entType1).requirementsTooltip; 709 714 grayscale = "grayscale:"; 715 affordableMask1.hidden = false; 716 affordableMask1.sprite = "colour: 0 0 0 127"; 717 710 718 } 711 719 icon1.sprite = "stretched:" + grayscale + "session/portraits/" +template1.icon; 712 720 713 721 // Check resource requirements for second button 714 722 affordableMask1.hidden = true; 715 723 neededResources = Engine.GuiInterfaceCall("GetNeededResources", template1.cost); … … 719 727 { 720 728 button1.enabled = false; 721 729 affordableMask1.hidden = false; 730 affordableMask1.sprite = "colour: 255 0 0 127"; 722 731 } 723 732 button1.tooltip += getNeededResourcesTooltip(neededResources); 724 733 } … … 732 741 } 733 742 else if (guiName == CONSTRUCTION || guiName == TRAINING) 734 743 { 735 affordableMask.hidden = true;736 744 var totalCosts = {}; 737 745 var trainNum = 1; 738 746 var button_disableable = true; … … 745 753 playerState.entityCounts[trainingCategory] >= playerState.entityLimits[trainingCategory]) 746 754 grayscale = "grayscale:"; 747 755 icon.sprite = "stretched:" + grayscale + "session/portraits/" + template.icon; 748 756 749 757 if (Engine.HotkeyIsPressed("session.batchtrain")) 750 758 { 751 759 var [buildingsCountToTrainFullBatch, fullBatchSize, remainderBatch, batchTrainingCount] = 752 760 getTrainingBatchStatus(playerState, unitEntState.id, entType, selection); 753 761 trainNum = buildingsCountToTrainFullBatch * fullBatchSize + remainderBatch; 754 762 button_disableable = !Engine.HotkeyIsPressed("selection.remove"); 755 763 } 756 764 getGUIObjectByName("unit"+guiName+"Count["+i+"]").caption = (batchTrainingCount > 0) ? batchTrainingCount : ""; 757 765 } 758 766 759 767 // Walls have no cost defined. 760 768 if (template.cost !== undefined) 761 769 totalCosts = multiplyEntityCosts(template, trainNum); 762 770 763 771 var neededResources = Engine.GuiInterfaceCall("GetNeededResources", totalCosts); 764 772 if (neededResources) 765 773 { … … 768 776 { 769 777 for each (var resource in neededResources) 770 778 totalCost += resource; 771 779 772 780 button.enabled = (button_disableable ? false : true); 773 781 affordableMask.hidden = false; 774 782 var alpha = 75 + totalCost/6;