Ticket #1831: tribute-summary.patch

File tribute-summary.patch, 6.8 KB (added by alpha123, 11 years ago)
  • simulation/components/StatisticsTracker.js

     
    4646            "metal": 0,
    4747            "stone": 0
    4848    };
     49    this.tributesSent = 0;
     50    this.tributesReceived = 0;
    4951    this.tradeIncome = 0;
    5052    this.treasuresCollected = 0;
    5153};
     
    6971        "resourcesUsed": this.resourcesUsed,
    7072        "resourcesSold": this.resourcesSold,
    7173        "resourcesBought": this.resourcesBought,
     74        "tributesSent": this.tributesSent,
     75        "tributesReceived": this.tributesReceived,
    7276        "tradeIncome": this.tradeIncome,
    7377        "treasuresCollected": this.treasuresCollected,
    7478        "percentMapExplored": this.GetPercentMapExplored()
     
    106110        var targetIsCivCentre = cmpTargetEntityIdentity.HasClass("CivCentre");
    107111
    108112        var cmpTargetOwnership = Engine.QueryInterface(targetEntity, IID_Ownership);
    109 
     113       
    110114        // Don't increase counters if target player is gaia (player 0)
    111115        if (cmpTargetOwnership.GetOwner() != 0)
    112116        {
     
    202206    this.resourcesBought[type] += amount;
    203207}
    204208
     209StatisticsTracker.prototype.IncreaseTributesSentCounter = function(amount)
     210{
     211    this.tributesSent += amount;
     212}
     213
     214StatisticsTracker.prototype.IncreaseTributesReceivedCounter = function(amount)
     215{
     216    this.tributesReceived += amount;
     217}
     218
    205219StatisticsTracker.prototype.IncreaseTradeIncomeCounter = function(amount)
    206220{
    207221    this.tradeIncome += amount;
  • simulation/components/Player.js

     
    543543            this.resourceCount[type] -= amounts[type];
    544544
    545545        cmpPlayer.AddResources(amounts);
    546         // TODO: notify the receiver
     546
     547                var total = Object.keys(amounts).reduce(function (sum, type) sum + amounts[type], 0);
     548                var cmpMyStatisticsTracker = QueryPlayerIDInterface(this.playerID, IID_StatisticsTracker);
     549                if (cmpMyStatisticsTracker)
     550                        cmpMyStatisticsTracker.IncreaseTributesSentCounter(total);
     551                var cmpTheirStatisticsTracker = QueryPlayerIDInterface(player, IID_StatisticsTracker);
     552                if (cmpTheirStatisticsTracker)
     553                        cmpTheirStatisticsTracker.IncreaseTributesReceivedCounter(total);
     554                // TODO: notify the receiver
    547555    }
    548556    // else not enough resources... TODO: send gui notification
    549557};
  • gui/summary/summary.js

     
    115115    getGUIObjectByName("metalGatheredHeading").size = left + " 34 " + (left + width) + " 100%"; left += width;
    116116    getGUIObjectByName("vegetarianRatioHeading").size = left + " 16 " + (left + width) + " 100%"; left += width;
    117117    getGUIObjectByName("treasuresCollectedHeading").size = left + " 16 " + (left + width) + " 100%"; left += width;
     118    getGUIObjectByName("resourcesTributedHeading").size = left + " 16 " + Math.floor(left + width * 1.8) + " 100%"; left += width;
    118119
    119120    left = 50;
    120121    getGUIObjectByName("playerName4Heading").size = left + " 26 " + (left + playerNameHeadingWidth) + " 100%"; left += playerNameHeadingWidth;
     
    176177            var metalGathered = getGUIObjectByName("metalGathered["+i+"]");
    177178            var vegetarianRatio = getGUIObjectByName("vegetarianRatio["+i+"]");
    178179            var treasuresCollected = getGUIObjectByName("treasuresCollected["+i+"]");
     180            var resourcesTributed = getGUIObjectByName("resourcesTributed["+i+"]");
    179181
    180182            var exchangedFood = getGUIObjectByName("exchangedFood["+i+"]");
    181183            var exchangedWood = getGUIObjectByName("exchangedWood["+i+"]");
     
    222224            metalGathered.size = left + " 2 " + (left + width) + " 100%"; left += width;
    223225            vegetarianRatio.size = left + " 2 " + (left + width) + " 100%"; left += width;
    224226            treasuresCollected.size = left + " 2 " + (left + width) + " 100%"; left += width;
     227            resourcesTributed.size = left + " 2 " + (left + width) + " 100%"; left += width;
    225228            size = getGUIObjectByName("playerBox3["+i+"]").size;
    226             size.right = left + 10;
     229            size.right = left + 30;
    227230            getGUIObjectByName("playerBox3["+i+"]").size = size;
    228231
    229232            left = 240;
     
    268271            vegetarianRatio.caption = Math.floor(playerState.statistics.resourcesGathered.food > 0 ?
    269272                (playerState.statistics.resourcesGathered.vegetarianFood / playerState.statistics.resourcesGathered.food) * 100 : 0) + "%";
    270273            treasuresCollected.caption = playerState.statistics.treasuresCollected;
     274            resourcesTributed.caption = SOLD_COLOR + playerState.statistics.tributesSent + '[/color] / ' + BOUGHT_COLOR + playerState.statistics.tributesReceived + "[/color]";
    271275
    272276            exchangedFood.caption = SOLD_COLOR + '+' + playerState.statistics.resourcesBought.food
    273277                + '[/color] ' + BOUGHT_COLOR + '-' + playerState.statistics.resourcesSold.food + '[/color]';
  • gui/summary/summary.xml

     
    118118
    119119        </object>       
    120120        <object name="unitsBuildingsPanel" type="image" sprite="ForegroundBody" size="20 120 100%-20 100%-58" hidden="true">
    121 
     121         
    122122            <object size="0 0 100% 100%-50">
    123123                <object name="playerName1Heading" type="text" style="LeftTabLabelText">
    124124                    Player name
     
    193193
    194194        </object>
    195195        <object name="resourcesPanel" type="image" sprite="ForegroundBody" size="20 120 100%-20 100%-58" hidden="true">
    196 
     196         
    197197            <object size="0 0 100% 100%-50">
    198198                <object name="playerName3Heading" type="text" style="LeftTabLabelText">
    199199                    Player name
     
    219219                <object name="treasuresCollectedHeading" type="text" style="CenteredTabLabelText">
    220220                    Treasures&#10;collected
    221221                </object>
     222                <object name="resourcesTributedHeading" type="text" style="CenteredTabLabelText">
     223                    Tributes&#10;(Sent / Received)
     224                </object>
    222225            </object>
    223226
    224227            <object size="0 65 100% 100%-50">
     
    233236                        <object name="metalGathered[n]"         type="text" style="CenteredLabelText"/>
    234237                        <object name="vegetarianRatio[n]"       type="text" style="CenteredLabelText"/>
    235238                        <object name="treasuresCollected[n]"        type="text" style="CenteredLabelText"/>
     239                        <object name="resourcesTributed[n]"     type="text" style="CenteredLabelText"/>
    236240                    </object>
    237241                </repeat>
    238242            </object>
    239243
    240244        </object>
    241         <object name="marketPanel" type="image" sprite="ForegroundBody" size="20 120 100%-20 100%-58" hidden="true">
     245        <object name="marketPanel" type="image" sprite="ForegroundBody" size="20 120 100%-20 100%" hidden="true">
    242246
    243247            <object size="0 0 100% 100%-50">
    244248                <object name="playerName4Heading" type="text" style="LeftTabLabelText">