Ticket #1721: summary_screen_scoretab.patch
File summary_screen_scoretab.patch, 21.5 KB (added by , 11 years ago) |
---|
-
binaries/data/mods/public/gui/summary/summary.js
1 1 // Max player slots for any map (should read from config) 2 2 const MAX_SLOTS = 8; 3 3 4 var panelNames = [ ' unitsBuildingsPanel', 'conquestPanel', 'resourcesPanel', 'marketPanel' ];5 var panelButtonNames = [ ' unitsBuildingsPanelButton', 'conquestPanelButton', 'resourcesPanelButton', 'marketPanelButton' ];4 var panelNames = [ 'scorePanel', 'unitsBuildingsPanel', 'conquestPanel', 'resourcesPanel', 'marketPanel' ]; 5 var panelButtonNames = [ 'scorePanelButton', 'unitsBuildingsPanelButton', 'conquestPanelButton', 'resourcesPanelButton', 'marketPanelButton' ]; 6 6 7 7 /** 8 8 * Select active panel … … 86 86 var width = 100; 87 87 var playerNameHeadingWidth = 200; 88 88 getGUIObjectByName("playerName0Heading").size = left + " 26 " + (left + playerNameHeadingWidth) + " 100%"; left += playerNameHeadingWidth; 89 getGUIObjectByName("economyScoreHeading").size = left + " 16 " + (left + width) + " 100%"; left += width; 90 getGUIObjectByName("militaryScoreHeading").size = left + " 16 " + (left + width) + " 100%"; left += width; 91 getGUIObjectByName("technologyScoreHeading").size = left + " 16 " + (left + width) + " 100%"; left += width; 92 getGUIObjectByName("totalScoreHeading").size = left + " 16 " + (left + width) + " 100%"; left += width; 93 94 left = 50; 95 getGUIObjectByName("playerName1Heading").size = left + " 26 " + (left + playerNameHeadingWidth) + " 100%"; left += playerNameHeadingWidth; 89 96 getGUIObjectByName("unitsTrainedHeading").size = left + " 16 " + (left + width) + " 100%"; left += width; 90 97 getGUIObjectByName("unitsLostHeading").size = left + " 16 " + (left + width) + " 100%"; left += width; 91 98 getGUIObjectByName("enemyUnitsKilledHeading").size = left + " 16 " + (left + width) + " 100%"; left += width; … … 94 101 getGUIObjectByName("enemyBuildingsDestroyedHeading").size = left + " 6 " + (left + width) + " 100%"; left += width; 95 102 96 103 left = 50; 97 getGUIObjectByName("playerName 1Heading").size = left + " 26 " + (left + playerNameHeadingWidth) + " 100%"; left += playerNameHeadingWidth;104 getGUIObjectByName("playerName2Heading").size = left + " 26 " + (left + playerNameHeadingWidth) + " 100%"; left += playerNameHeadingWidth; 98 105 getGUIObjectByName("civCentresBuiltHeading").size = left + " 16 " + (left + width) + " 100%"; left += width; 99 106 getGUIObjectByName("enemyCivCentresDestroyedHeading").size = left + " 6 " + (left + width) + " 100%"; left += width; 100 107 getGUIObjectByName("mapExplorationHeading").size = left + " 6 " + (left + width) + " 100%"; left += width; 101 108 102 109 left = 50; 103 getGUIObjectByName("playerName 2Heading").size = left + " 26 " + (left + playerNameHeadingWidth) + " 100%"; left += playerNameHeadingWidth;110 getGUIObjectByName("playerName3Heading").size = left + " 26 " + (left + playerNameHeadingWidth) + " 100%"; left += playerNameHeadingWidth; 104 111 getGUIObjectByName("resourceHeading").size = left + " 16 " + (left + width * 4) + " 100%"; 105 112 getGUIObjectByName("foodGatheredHeading").size = left + " 34 " + (left + width) + " 100%"; left += width; 106 113 getGUIObjectByName("woodGatheredHeading").size = left + " 34 " + (left + width) + " 100%"; left += width; … … 110 117 getGUIObjectByName("treasuresCollectedHeading").size = left + " 16 " + (left + width) + " 100%"; left += width; 111 118 112 119 left = 50; 113 getGUIObjectByName("playerName 3Heading").size = left + " 26 " + (left + playerNameHeadingWidth) + " 100%"; left += playerNameHeadingWidth;120 getGUIObjectByName("playerName4Heading").size = left + " 26 " + (left + playerNameHeadingWidth) + " 100%"; left += playerNameHeadingWidth; 114 121 getGUIObjectByName("exchangedFoodHeading").size = left + " 16 " + (left + width) + " 100%"; left += width; 115 122 getGUIObjectByName("exchangedWoodHeading").size = left + " 16 " + (left + width) + " 100%"; left += width; 116 123 getGUIObjectByName("exchangedStoneHeading").size = left + " 16 " + (left + width) + " 100%"; left += width; … … 147 154 getGUIObjectByName("civIcon"+k+"["+i+"]").tooltip = civData[playerState.civ].Name; 148 155 } 149 156 157 var economyScore = getGUIObjectByName("economyScore["+i+"]"); 158 var militaryScore = getGUIObjectByName("militaryScore["+i+"]"); 159 var technologyScore = getGUIObjectByName("technologyScore["+i+"]"); 160 var totalScore = getGUIObjectByName("totalScore["+i+"]"); 161 150 162 var unitsTrained = getGUIObjectByName("unitsTrained["+i+"]"); 151 163 var unitsLost = getGUIObjectByName("unitsLost["+i+"]"); 152 164 var enemyUnitsKilled = getGUIObjectByName("enemyUnitsKilled["+i+"]"); … … 176 188 177 189 left = 240; 178 190 width = 100; 191 economyScore.size = left + " 2 " + (left + width) + " 100%"; left += width; 192 militaryScore.size = left + " 2 " + (left + width) + " 100%"; left += width; 193 technologyScore.size = left + " 2 " + (left + width) + " 100%"; left += width; 194 totalScore.size = left + " 2 " + (left + width) + " 100%"; left += width; 195 size = getGUIObjectByName("playerBox0["+i+"]").size; 196 size.right = left + 10; 197 getGUIObjectByName("playerBox0["+i+"]").size = size; 198 199 left = 240; 179 200 unitsTrained.size = left + " 2 " + (left + width) + " 100%"; left += width; 180 201 unitsLost.size = left + " 2 " + (left + width) + " 100%"; left += width; 181 202 enemyUnitsKilled.size = left + " 2 " + (left + width) + " 100%"; left += width; 182 203 buildingsConstructed.size = left + " 2 " + (left + width) + " 100%"; left += width; 183 204 buildingsLost.size = left + " 2 " + (left + width) + " 100%"; left += width; 184 205 enemyBuildingsDestroyed.size = left + " 2 " + (left + width) + " 100%"; left += width; 185 size = getGUIObjectByName("playerBox 0["+i+"]").size;206 size = getGUIObjectByName("playerBox1["+i+"]").size; 186 207 size.right = left + 10; 187 getGUIObjectByName("playerBox 0["+i+"]").size = size;208 getGUIObjectByName("playerBox1["+i+"]").size = size; 188 209 189 210 left = 240; 190 211 civCentresBuilt.size = left + " 2 " + (left + width) + " 100%"; left += width; 191 212 enemyCivCentresDestroyed.size = left + " 2 " + (left + width) + " 100%"; left += width; 192 213 mapExploration.size = left + " 2 " + (left + width) + " 100%"; left += width; 193 size = getGUIObjectByName("playerBox 1["+i+"]").size;214 size = getGUIObjectByName("playerBox2["+i+"]").size; 194 215 size.right = left + 10; 195 getGUIObjectByName("playerBox 1["+i+"]").size = size;216 getGUIObjectByName("playerBox2["+i+"]").size = size; 196 217 197 218 left = 240; 198 219 foodGathered.size = left + " 2 " + (left + width) + " 100%"; left += width; … … 201 222 metalGathered.size = left + " 2 " + (left + width) + " 100%"; left += width; 202 223 vegetarianRatio.size = left + " 2 " + (left + width) + " 100%"; left += width; 203 224 treasuresCollected.size = left + " 2 " + (left + width) + " 100%"; left += width; 204 size = getGUIObjectByName("playerBox 2["+i+"]").size;225 size = getGUIObjectByName("playerBox3["+i+"]").size; 205 226 size.right = left + 10; 206 getGUIObjectByName("playerBox 2["+i+"]").size = size;227 getGUIObjectByName("playerBox3["+i+"]").size = size; 207 228 208 229 left = 240; 209 230 exchangedFood.size = left + " 2 " + (left + width) + " 100%"; left += width; … … 212 233 exchangedMetal.size = left + " 2 " + (left + width) + " 100%"; left += width; 213 234 barterEfficiency.size = left + " 2 " + (left + width) + " 100%"; left += width; 214 235 tradeIncome.size = left + " 2 " + (left + width) + " 100%"; left += width; 215 size = getGUIObjectByName("playerBox 3["+i+"]").size;236 size = getGUIObjectByName("playerBox4["+i+"]").size; 216 237 size.right = left + 10; 217 getGUIObjectByName("playerBox 3["+i+"]").size = size;238 getGUIObjectByName("playerBox4["+i+"]").size = size; 218 239 219 240 // display counters 241 economyScore.caption = Math.round((playerState.statistics.resourcesGathered.food + playerState.statistics.resourcesGathered.wood + 242 playerState.statistics.resourcesGathered.stone + playerState.statistics.resourcesGathered.metal) / 10); 243 militaryScore.caption = Math.round((playerState.statistics.enemyUnitsKilledValue + playerState.statistics.enemyBuildingsDestroyedValue) / 10); 244 technologyScore.caption = playerState.statistics.percentMapExplored * 10; 245 totalScore.caption = Number(economyScore.caption) + Number(militaryScore.caption) + Number(technologyScore.caption); 246 220 247 unitsTrained.caption = playerState.statistics.unitsTrained; 221 248 unitsLost.caption = playerState.statistics.unitsLost; 222 249 enemyUnitsKilled.caption = playerState.statistics.enemyUnitsKilled; -
binaries/data/mods/public/gui/summary/summary.xml
57 57 <object name="tabDividerLeft" type="image" sprite="TabSpacer" size="172 120 174 122"/> 58 58 <object name="tabDividerRight" type="image" sprite="TabSpacer" size="328 120 330 122"/> 59 59 60 <object name=" unitsBuildingsPanelButton" type="button" sprite="ForegroundTab" size="20 95 170 120">60 <object name="scorePanelButton" type="button" sprite="ForegroundTab" size="20 95 170 120"> 61 61 <action on="Press">selectPanel(0);</action> 62 <object type="text" style="TitleText" ghost="true">Score</object> 63 </object> 64 65 <object name="unitsBuildingsPanelButton" type="button" sprite="BackgroundTab" size="176 95 326 120"> 66 <action on="Press">selectPanel(1);</action> 62 67 <object type="text" style="TitleText" ghost="true">Units/buildings</object> 63 68 </object> 64 69 65 <object name="conquestPanelButton" type="button" sprite="BackgroundTab" size=" 176 95 326120">66 <action on="Press">selectPanel( 1);</action>70 <object name="conquestPanelButton" type="button" sprite="BackgroundTab" size="332 95 480 120"> 71 <action on="Press">selectPanel(2);</action> 67 72 <object type="text" style="TitleText" ghost="true">Conquest</object> 68 73 </object> 69 74 70 <object name="resourcesPanelButton" type="button" sprite="BackgroundTab" size=" 332 95 480120">71 <action on="Press">selectPanel( 2);</action>75 <object name="resourcesPanelButton" type="button" sprite="BackgroundTab" size="486 95 636 120"> 76 <action on="Press">selectPanel(3);</action> 72 77 <object type="text" style="TitleText" ghost="true">Resources</object> 73 78 </object> 74 79 75 <object name="marketPanelButton" type="button" sprite="BackgroundTab" size=" 486 95 636120">76 <action on="Press">selectPanel( 3);</action>80 <object name="marketPanelButton" type="button" sprite="BackgroundTab" size="642 95 792 120"> 81 <action on="Press">selectPanel(4);</action> 77 82 <object type="text" style="TitleText" ghost="true">Market</object> 78 83 </object> 79 84 80 <object name=" unitsBuildingsPanel" type="image" sprite="ForegroundBody" size="20 120 100%-20 100%-58">85 <object name="scorePanel" type="image" sprite="ForegroundBody" size="20 120 100%-20 100%-58"> 81 86 82 87 <object size="0 0 100% 100%-50"> 83 88 <object name="playerName0Heading" type="text" style="LeftTabLabelText"> 84 89 Player name 85 90 </object> 91 <object name="economyScoreHeading" type="text" style="CenteredTabLabelText"> 92 Economy score 93 </object> 94 <object name="militaryScoreHeading" type="text" style="CenteredTabLabelText"> 95 Military score 96 </object> 97 <object name="technologyScoreHeading" type="text" style="CenteredTabLabelText"> 98 Technology score 99 </object> 100 <object name="totalScoreHeading" type="text" style="CenteredTabLabelText"> 101 Total score 102 </object> 103 </object> 104 105 <object size="0 65 100% 100%-50"> 106 <repeat count="8"> 107 <object type="image" name="playerBox0[n]" size="10 0 10 30" hidden="true"> 108 <object name="playerColourBox0[n]" type="image" size="10 4 30 24" /> 109 <object name="playerName0[n]" type="text" style="LeftLabelText" size="40 2 208 100%" /> 110 <object name="civIcon0[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/> 111 <object name="economyScore[n]" type="text" style="CenteredLabelText"/> 112 <object name="militaryScore[n]" type="text" style="CenteredLabelText"/> 113 <object name="technologyScore[n]" type="text" style="CenteredLabelText"/> 114 <object name="totalScore[n]" type="text" style="CenteredLabelText"/> 115 </object> 116 </repeat> 117 </object> 118 119 </object> 120 <object name="unitsBuildingsPanel" type="image" sprite="ForegroundBody" size="20 120 100%-20 100%-58" hidden="true"> 121 122 <object size="0 0 100% 100%-50"> 123 <object name="playerName1Heading" type="text" style="LeftTabLabelText"> 124 Player name 125 </object> 86 126 <object name="unitsTrainedHeading" type="text" style="CenteredTabLabelText"> 87 127 Units trained 88 128 </object> … … 106 146 107 147 <object size="0 65 100% 100%-50"> 108 148 <repeat count="8"> 109 <object type="image" name="playerBox 0[n]" size="10 0 10 30" hidden="true">110 <object name="playerColourBox 0[n]" type="image" size="10 4 30 24" />111 <object name="playerName 0[n]" type="text" style="LeftLabelText" size="40 2 208 100%" />112 <object name="civIcon 0[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>149 <object type="image" name="playerBox1[n]" size="10 0 10 30" hidden="true"> 150 <object name="playerColourBox1[n]" type="image" size="10 4 30 24" /> 151 <object name="playerName1[n]" type="text" style="LeftLabelText" size="40 2 208 100%" /> 152 <object name="civIcon1[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/> 113 153 <object name="unitsTrained[n]" type="text" style="CenteredLabelText"/> 114 154 <object name="unitsLost[n]" type="text" style="CenteredLabelText"/> 115 155 <object name="enemyUnitsKilled[n]" type="text" style="CenteredLabelText"/> … … 124 164 <object name="conquestPanel" type="image" sprite="ForegroundBody" size="20 120 100%-20 100%-58" hidden="true"> 125 165 126 166 <object size="0 0 100% 100%-50"> 127 <object name="playerName 1Heading" type="text" style="LeftTabLabelText">167 <object name="playerName2Heading" type="text" style="LeftTabLabelText"> 128 168 Player name 129 169 </object> 130 170 <object name="civCentresBuiltHeading" type="text" style="CenteredTabLabelText"> … … 140 180 141 181 <object size="0 65 100% 100%-50"> 142 182 <repeat count="8"> 143 <object type="image" name="playerBox 1[n]" size="10 0 10 30" hidden="true">144 <object name="playerColourBox 1[n]" type="image" size="10 4 30 24" />145 <object name="playerName 1[n]" type="text" style="LeftLabelText" size="40 2 208 100%" />146 <object name="civIcon 1[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>183 <object type="image" name="playerBox2[n]" size="10 0 10 30" hidden="true"> 184 <object name="playerColourBox2[n]" type="image" size="10 4 30 24" /> 185 <object name="playerName2[n]" type="text" style="LeftLabelText" size="40 2 208 100%" /> 186 <object name="civIcon2[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/> 147 187 <object name="civCentresBuilt[n]" type="text" style="CenteredLabelText"/> 148 188 <object name="enemyCivCentresDestroyed[n]" type="text" style="CenteredLabelText"/> 149 189 <object name="mapExploration[n]" type="text" style="CenteredLabelText"/> … … 155 195 <object name="resourcesPanel" type="image" sprite="ForegroundBody" size="20 120 100%-20 100%-58" hidden="true"> 156 196 157 197 <object size="0 0 100% 100%-50"> 158 <object name="playerName 2Heading" type="text" style="LeftTabLabelText">198 <object name="playerName3Heading" type="text" style="LeftTabLabelText"> 159 199 Player name 160 200 </object> 161 201 <object name="resourceHeading" type="text" style="CenteredTabLabelText"> … … 183 223 184 224 <object size="0 65 100% 100%-50"> 185 225 <repeat count="8"> 186 <object type="image" name="playerBox 2[n]" size="10 0 10 30" hidden="true">187 <object name="playerColourBox 2[n]" type="image" size="10 4 30 24" />188 <object name="playerName 2[n]" type="text" style="LeftLabelText" size="40 2 208 100%" />189 <object name="civIcon 2[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>226 <object type="image" name="playerBox3[n]" size="10 0 10 30" hidden="true"> 227 <object name="playerColourBox3[n]" type="image" size="10 4 30 24" /> 228 <object name="playerName3[n]" type="text" style="LeftLabelText" size="40 2 208 100%" /> 229 <object name="civIcon3[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/> 190 230 <object name="foodGathered[n]" type="text" style="CenteredLabelText"/> 191 231 <object name="woodGathered[n]" type="text" style="CenteredLabelText"/> 192 232 <object name="stoneGathered[n]" type="text" style="CenteredLabelText" /> … … 201 241 <object name="marketPanel" type="image" sprite="ForegroundBody" size="20 120 100%-20 100%-58" hidden="true"> 202 242 203 243 <object size="0 0 100% 100%-50"> 204 <object name="playerName 3Heading" type="text" style="LeftTabLabelText">244 <object name="playerName4Heading" type="text" style="LeftTabLabelText"> 205 245 Player name 206 246 </object> 207 247 <object name="exchangedFoodHeading" type="text" style="CenteredTabLabelText"> … … 226 266 227 267 <object size="0 65 100% 100%-50"> 228 268 <repeat count="8"> 229 <object type="image" name="playerBox 3[n]" size="10 0 10 30" hidden="true">230 <object name="playerColourBox 3[n]" type="image" size="10 4 30 24" />231 <object name="playerName 3[n]" type="text" style="LeftLabelText" size="40 2 208 100%" />232 <object name="civIcon 3[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>269 <object type="image" name="playerBox4[n]" size="10 0 10 30" hidden="true"> 270 <object name="playerColourBox4[n]" type="image" size="10 4 30 24" /> 271 <object name="playerName4[n]" type="text" style="LeftLabelText" size="40 2 208 100%" /> 272 <object name="civIcon4[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/> 233 273 <object name="exchangedFood[n]" type="text" style="CenteredLabelText"/> 234 274 <object name="exchangedWood[n]" type="text" style="CenteredLabelText"/> 235 275 <object name="exchangedStone[n]" type="text" style="CenteredLabelText"/> -
binaries/data/mods/public/simulation/components/StatisticsTracker.js
8 8 // units 9 9 this.unitsTrained = 0; 10 10 this.unitsLost = 0; 11 this.unitsLostValue = 0; 11 12 this.enemyUnitsKilled = 0; 13 this.enemyUnitsKilledValue = 0; 12 14 //buildings 13 15 this.buildingsConstructed = 0; 14 16 this.buildingsLost = 0; 17 this.buildingsLostValue = 0; 15 18 this.enemyBuildingsDestroyed = 0; 19 this.enemyBuildingsDestroyedValue = 0; 16 20 // civ centres 17 21 this.civCentresBuilt = 0; 18 22 this.enemyCivCentresDestroyed = 0; … … 28 32 "food": 0, 29 33 "wood": 0, 30 34 "metal": 0, 31 "stone": 0 ,35 "stone": 0 32 36 }; 33 37 this.resourcesSold = { 34 38 "food": 0, … … 51 55 return { 52 56 "unitsTrained": this.unitsTrained, 53 57 "unitsLost": this.unitsLost, 58 "unitsLostValue": this.unitsLostValue, 54 59 "enemyUnitsKilled": this.enemyUnitsKilled, 60 "enemyUnitsKilledValue": this.enemyUnitsKilledValue, 55 61 "buildingsConstructed": this.buildingsConstructed, 56 62 "buildingsLost": this.buildingsLost, 63 "buildingsLostValue": this.buildingsLostValue, 57 64 "enemyBuildingsDestroyed": this.enemyBuildingsDestroyed, 65 "enemyBuildingsDestroyedValue": this.enemyBuildingsDestroyedValue, 58 66 "civCentresBuilt": this.civCentresBuilt, 59 67 "enemyCivCentresDestroyed": this.enemyCivCentresDestroyed, 60 68 "resourcesGathered": this.resourcesGathered, … … 85 93 StatisticsTracker.prototype.KilledEntity = function(targetEntity) 86 94 { 87 95 var cmpTargetEntityIdentity = Engine.QueryInterface(targetEntity, IID_Identity); 96 var cmpCost = Engine.QueryInterface(targetEntity, IID_Cost); 97 var costs = cmpCost.GetResourceCosts(); 88 98 if (cmpTargetEntityIdentity) 89 99 { 90 100 var cmpFoundation = Engine.QueryInterface(targetEntity, IID_Foundation); … … 101 111 if (cmpTargetOwnership.GetOwner() != 0) 102 112 { 103 113 if (targetIsUnit) 114 { 104 115 this.enemyUnitsKilled++; 116 for (var r in costs) 117 { 118 this.enemyUnitsKilledValue += (costs[r]); 119 } 120 } 105 121 if (targetIsStructure) 122 { 106 123 this.enemyBuildingsDestroyed++; 124 for (var r in costs) 125 { 126 this.enemyBuildingsDestroyedValue += (costs[r]); 127 } 128 } 107 129 if (targetIsCivCentre && targetIsStructure) 108 130 this.enemyCivCentresDestroyed++; 109 131 } … … 113 135 StatisticsTracker.prototype.LostEntity = function(lostEntity) 114 136 { 115 137 var cmpLostEntityIdentity = Engine.QueryInterface(lostEntity, IID_Identity); 138 var cmpCost = Engine.QueryInterface(lostEntity, IID_Cost); 139 var costs = cmpCost.GetResourceCosts(); 116 140 if (cmpLostEntityIdentity) 117 141 { 118 142 var cmpFoundation = Engine.QueryInterface(lostEntity, IID_Foundation); … … 123 147 var lostEntityIsUnit = cmpLostEntityIdentity.HasClass("Unit") && !lostEntityIsDomesticAnimal; 124 148 125 149 if (lostEntityIsUnit) 150 { 126 151 this.unitsLost++; 152 for (var r in costs) 153 { 154 this.unitsLostValue += (costs[r]); 155 } 156 } 127 157 if (lostEntityIsStructure) 158 { 128 159 this.buildingsLost++; 160 for (var r in costs) 161 { 162 this.buildingsLostValue += (costs[r]); 163 } 164 } 129 165 } 130 166 }; 131 167