Ticket #3841: 3841_ingame_summary_v1.4.patch
File 3841_ingame_summary_v1.4.patch, 10.0 KB (added by , 8 years ago) |
---|
-
binaries/data/mods/public/gui/session/menu.js
620 620 Engine.PushGuiPage("page_summary.xml", { 621 621 "sim": { 622 622 "mapSettings": g_GameAttributes.settings, 623 "playerStates": extendedSimState.players, 623 "playerStates":extendedSimState.players.filter((state,player) => 624 g_IsObserver || player == 0 || player == g_ViewedPlayer || 625 extendedSimState.players[g_ViewedPlayer].hasSharedLos && g_Players[player].isMutualAlly[g_ViewedPlayer]), 624 626 "timeElapsed" : extendedSimState.timeElapsed 625 627 }, 626 628 "gui": { -
binaries/data/mods/public/gui/session/menu.xml
48 48 style="StoneButtonFancy" 49 49 size="0 96 100% 124" 50 50 tooltip_style="sessionToolTip" 51 enabled="false"52 51 > 53 52 <translatableAttribute id="caption">Summary</translatableAttribute> 54 53 <action on="Press">openGameSummary();</action> -
binaries/data/mods/public/gui/session/session.js
480 480 // Disable stuff observers shouldn't use 481 481 Engine.GetGUIObjectByName("pauseButton").enabled = !g_IsObserver || !g_IsNetworked; 482 482 Engine.GetGUIObjectByName("menuResignButton").enabled = !g_IsObserver; 483 Engine.GetGUIObjectByName("summaryButton").enabled = g_IsObserver;484 483 } 485 484 486 485 function reportPerformance(time) … … 933 932 debug.caption = text.replace(/\[/g, "\\["); 934 933 } 935 934 935 function getAllyStatTooltip(resource) 936 { 937 let playersState = GetSimState().players; 938 let ret = ""; 939 for (let player in playersState) 940 if (player != 0 && player != g_ViewedPlayer && 941 (g_IsObserver || playersState[g_ViewedPlayer].hasSharedLos && g_Players[player].isMutualAlly[g_ViewedPlayer])) 942 ret += sprintf(translate("\n%(playername)s: %(statValue)s"),{ 943 "playername": colorizePlayernameByID(player), 944 "statValue": resource == "pop" ? 945 playersState[player].popCount + "/" + playersState[player].popLimit : 946 playersState[player].resourceCounts[resource] 947 }); 948 return ret; 949 } 950 936 951 function updatePlayerDisplay() 937 952 { 938 953 let playerState = GetSimState().players[g_ViewedPlayer]; … … 939 954 if (!playerState) 940 955 return; 941 956 942 Engine.GetGUIObjectByName("resourceFood").caption = Math.floor(playerState.resourceCounts.food); 943 Engine.GetGUIObjectByName("resourceWood").caption = Math.floor(playerState.resourceCounts.wood); 944 Engine.GetGUIObjectByName("resourceStone").caption = Math.floor(playerState.resourceCounts.stone); 945 Engine.GetGUIObjectByName("resourceMetal").caption = Math.floor(playerState.resourceCounts.metal); 957 for (let res of RESOURCES) 958 { 959 Engine.GetGUIObjectByName("resource_" + res).caption = Math.floor(playerState.resourceCounts[res]); 960 Engine.GetGUIObjectByName(res).tooltip = localisedResourceNames.firstWord[res] + getAllyStatTooltip(res); 961 } 946 962 Engine.GetGUIObjectByName("resourcePop").caption = playerState.popCount + "/" + playerState.popLimit; 947 963 Engine.GetGUIObjectByName("population").tooltip = translate("Population (current / limit)") + "\n" + 948 sprintf(translate("Maximum population: %(popCap)s"), { "popCap": playerState.popMax }); 964 sprintf(translate("Maximum population: %(popCap)s"), { "popCap": playerState.popMax }) + 965 getAllyStatTooltip("pop"); 949 966 950 967 g_IsTrainingBlocked = playerState.trainingBlocked; 951 968 } -
binaries/data/mods/public/gui/session/top_panel/resource_food.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <object name="food" size="10 0 100 100%" type="image" style="resourceCounter" tooltip_style="sessionToolTipBold"> 3 <translatableAttribute id="tooltip">Food</translatableAttribute>4 3 <object size="0 -4 40 36" type="image" sprite="stretched:session/icons/resources/food.png" ghost="true"/> 5 <object size="32 0 100% 100%-2" type="text" style="resourceText" name="resource Food"/>4 <object size="32 0 100% 100%-2" type="text" style="resourceText" name="resource_food"/> 6 5 </object> -
binaries/data/mods/public/gui/session/top_panel/resource_metal.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <object name="metal" size="280 0 370 100%" type="image" style="resourceCounter" tooltip_style="sessionToolTipBold"> 3 <translatableAttribute id="tooltip">Metal</translatableAttribute>4 3 <object size="0 -4 40 36" type="image" sprite="stretched:session/icons/resources/metal.png" ghost="true"/> 5 <object size="32 0 100% 100%-2" type="text" style="resourceText" name="resource Metal"/>4 <object size="32 0 100% 100%-2" type="text" style="resourceText" name="resource_metal"/> 6 5 </object> -
binaries/data/mods/public/gui/session/top_panel/resource_stone.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <object name="stone" size="190 0 280 100%" type="image" style="resourceCounter" tooltip_style="sessionToolTipBold"> 3 <translatableAttribute id="tooltip">Stone</translatableAttribute>4 3 <object size="0 -4 40 36" type="image" sprite="stretched:session/icons/resources/stone.png" ghost="true"/> 5 <object size="32 0 100% 100%-2" type="text" style="resourceText" name="resource Stone"/>4 <object size="32 0 100% 100%-2" type="text" style="resourceText" name="resource_stone"/> 6 5 </object> -
binaries/data/mods/public/gui/session/top_panel/resource_wood.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <object name="wood" size="100 0 190 100%" type="image" style="resourceCounter" tooltip_style="sessionToolTipBold"> 3 <translatableAttribute id="tooltip">Wood</translatableAttribute>4 3 <object size="0 -4 40 36" type="image" sprite="stretched:session/icons/resources/wood.png" ghost="true"/> 5 <object size="32 0 100% 100%-2" type="text" style="resourceText" name="resource Wood"/>4 <object size="32 0 100% 100%-2" type="text" style="resourceText" name="resource_wood"/> 6 5 </object> -
binaries/data/mods/public/simulation/components/GuiInterface.js
107 107 "cheatsEnabled": cmpPlayer.GetCheatsEnabled(), 108 108 "disabledTemplates": cmpPlayer.GetDisabledTemplates(), 109 109 "hasSharedDropsites": cmpPlayer.HasSharedDropsites(), 110 "hasSharedLos": cmpPlayer.HasSharedLos(), 110 111 "phase": phase, 111 112 "isAlly": allies, 112 113 "isMutualAlly": mutualAllies, -
binaries/data/mods/public/simulation/components/Player.js
545 545 return this.startCam !== undefined; 546 546 }; 547 547 548 Player.prototype.HasSharedLos = function() 549 { 550 let cmpTechnologyManager = Engine.QueryInterface(this.entity, IID_TechnologyManager); 551 return cmpTechnologyManager && cmpTechnologyManager.IsTechnologyResearched(this.template.SharedLosTech); 552 }; 548 553 Player.prototype.HasSharedDropsites = function() 549 554 { 550 555 return this.sharedDropsites; -
binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
91 91 IsEnemy: function() { return true; }, 92 92 GetDisabledTemplates: function() { return {}; }, 93 93 HasSharedDropsites: function() { return false; }, 94 HasSharedLos: function() { return false; }, 94 95 }); 95 96 96 97 AddMock(100, IID_EntityLimits, { … … 174 175 IsEnemy: function() { return false; }, 175 176 GetDisabledTemplates: function() { return {}; }, 176 177 HasSharedDropsites: function() { return false; }, 178 HasSharedLos: function() { return false; }, 177 179 }); 178 180 179 181 AddMock(101, IID_EntityLimits, { … … 257 259 cheatsEnabled: false, 258 260 disabledTemplates: {}, 259 261 hasSharedDropsites: false, 262 hasSharedLos: false, 260 263 phase: "village", 261 264 isAlly: [false, false], 262 265 isMutualAlly: [false, false], … … 298 301 cheatsEnabled: false, 299 302 disabledTemplates: {}, 300 303 hasSharedDropsites: false, 304 hasSharedLos: false, 301 305 phase: "village", 302 306 isAlly: [true, true], 303 307 isMutualAlly: [false, false], … … 348 352 cheatsEnabled: false, 349 353 disabledTemplates: {}, 350 354 hasSharedDropsites: false, 355 hasSharedLos: false, 351 356 phase: "village", 352 357 isAlly: [false, false], 353 358 isMutualAlly: [false, false], … … 402 407 cheatsEnabled: false, 403 408 disabledTemplates: {}, 404 409 hasSharedDropsites: false, 410 hasSharedLos: false, 405 411 phase: "village", 406 412 isAlly: [true, true], 407 413 isMutualAlly: [false, false],