Ticket #2373: resignation_v7.patch
File resignation_v7.patch, 7.9 KB (added by , 10 years ago) |
---|
-
binaries/data/mods/public/gui/common/functions_global_object.js
22 22 { 23 23 if (btnCode !== undefined && g_messageBoxBtnFunctions[btnCode]) 24 24 { 25 if (g_messageBoxCallbackArgs[btnCode]) 26 g_messageBoxBtnFunctions[btnCode](g_messageBoxCallbackArgs[btnCode]); 25 // cache the vales to make it possible to call a messageBox from a callback function. 26 var callbackFunction = g_messageBoxBtnFunctions[btnCode]; 27 var callbackArgs = g_messageBoxCallbackArgs[btnCode] 28 g_messageBoxBtnFunctions = []; 29 g_messageBoxCallbackArgs = []; 30 31 if (callbackArgs !== undefined) 32 callbackFunction(callbackArgs); 27 33 else 28 g_messageBoxBtnFunctions[btnCode](); 34 callbackFunction(); 35 36 return; 29 37 } 30 31 38 g_messageBoxBtnFunctions = []; 32 39 g_messageBoxCallbackArgs = []; 33 40 } -
binaries/data/mods/public/gui/session/menu.js
148 148 pauseGame(); 149 149 var btCaptions = ["Yes", "No"]; 150 150 var btCode = [leaveGame, resumeGame]; 151 if (g_IsNetworked && !g_GameEnded) 152 btCode = [g_IsController ? abortNetworkGameQuestion : networkReturnQuestion, resumeGame]; 151 153 messageBox(400, 200, "Are you sure you want to quit?", "Confirmation", 0, btCaptions, btCode); 152 154 } 153 155 156 function networkReturnQuestion() 157 { 158 var btCaptions = ["I resign", "I will return"]; 159 var btCode = [leaveGame, leaveGame]; 160 var btArgs = [false, true]; 161 messageBox(400, 200, "You are about to exit the game. Do you want to resign or will you return soon?", "Confirmation", 0, btCaptions, btCode, btArgs); 162 } 154 163 164 function abortNetworkGameQuestion() 165 { 166 var btCaptions = ["Exit the game", "Resume"]; 167 var btCode = [leaveGame, resumeGame]; 168 messageBox(400, 215, "Because you are the host the game will aborted if you leave.\n\nAre you sure you want to do that?", "Confirmation", 0, btCaptions, btCode); 169 } 170 155 171 function openDeleteDialog(selection) 156 172 { 157 173 closeMenu(); -
binaries/data/mods/public/gui/session/session.js
234 234 Engine.SubmitUserReport("profile", 3, JSON.stringify(data)); 235 235 } 236 236 237 function resignGame() 237 /** 238 * let's a player resign 239 * leaveGameAfterResign: if true, game is quit, after resign 240 */ 241 function resignGame(leaveGameAfterResign) 238 242 { 239 243 var simState = GetSimState(); 240 244 … … 249 253 }); 250 254 251 255 global.music.setState(global.music.states.DEFEAT); 252 resumeGame(); 256 257 // resume to the game, if the resign button was used 258 if (!leaveGameAfterResign) 259 resumeGame(); 253 260 } 254 261 255 function leaveGame() 262 /** 263 * leaves the game 264 * willRejoin: can be set to true, in case of network game, if the player just has to reboot or restart the game 265 */ 266 function leaveGame(willRejoin) 256 267 { 257 268 var extendedSimState = Engine.GuiInterfaceCall("GetExtendedSimulationState"); 258 269 var playerState = extendedSimState.players[Engine.GetPlayerID()]; … … 274 285 else // "active" 275 286 { 276 287 gameResult = "You have abandoned the game."; 277 278 // Tell other players that we have given up and been defeated279 Engine.PostNetworkCommand({280 "type": "defeat-player",281 "playerId": Engine.GetPlayerID()282 });283 284 288 global.music.setState(global.music.states.DEFEAT); 289 290 // resign, if player click on "No, I resign" 291 if (!willRejoin) 292 { 293 gameResult = "You have been defeated..."; 294 resignGame(true); 295 } 285 296 } 286 297 287 298 stopAmbient(); -
binaries/data/mods/public/gui/session/session.xml
776 776 z="40" 777 777 > 778 778 <object size="4 36 100%-4 50%+20"> 779 780 <!-- Manual button --> 781 <object type="button" 782 name="manualButton" 783 style="StoneButtonFancy" 784 size="0 0 100% 28" 785 tooltip_style="sessionToolTip" 786 > 787 Manual 788 <action on="Press">openManual();</action> 789 </object> 790 791 <!-- Chat button --> 792 <object type="button" 793 name="chatButton" 794 style="StoneButtonFancy" 795 size="0 32 100% 60" 796 tooltip_style="sessionToolTip" 797 > 798 Chat 799 <action on="Press">chatMenuButton();</action> 800 </object> 779 801 780 <!-- Settings button --> 781 <object type="button" 782 name="settingsButton" 783 style="StoneButtonFancy" 784 size="0 0 100% 28" 785 tooltip_style="sessionToolTip" 786 > 787 Settings 788 <action on="Press">settingsMenuButton();</action> 789 </object> 802 <!-- Save game button --> 803 <object type="button" 804 name="saveGameButton" 805 style="StoneButtonFancy" 806 size="0 64 100% 92" 807 tooltip_style="sessionToolTip" 808 > 809 Save 810 <action on="Press"> 811 openSave(); 812 </action> 813 </object> 814 815 <!-- Settings button --> 816 <object type="button" 817 name="settingsButton" 818 style="StoneButtonFancy" 819 size="0 96 100% 124" 820 tooltip_style="sessionToolTip" 821 > 822 Settings 823 <action on="Press">settingsMenuButton();</action> 824 </object> 790 825 791 792 <!-- Save game button --> 793 <object type="button" 794 name="saveGameButton" 795 style="StoneButtonFancy" 796 size="0 32 100% 60" 797 tooltip_style="sessionToolTip" 798 > 799 Save 800 <action on="Press"> 801 openSave(); 802 </action> 826 <!-- Pause / Resume Button --> 827 <object type="button" 828 name="pauseButton" 829 style="StoneButtonFancy" 830 size="0 128 100% 156" 831 tooltip_style="sessionToolTip" 832 > 833 <object name="pauseButtonText" type="text" style="CenteredButtonText" ghost="true">Pause</object> 834 <action on="Press">togglePause();</action> 835 </object> 836 837 <!-- Resign button --> 838 <object type="button" 839 name="menuResignButton" 840 style="StoneButtonFancy" 841 size="0 160 100% 188" 842 tooltip_style="sessionToolTip" 843 > 844 Resign 845 <action on="Press">resignMenuButton();</action> 846 </object> 847 848 <!-- Exit button --> 849 <object type="button" 850 name="menuExitButton" 851 style="StoneButtonFancy" 852 size="0 192 100% 220" 853 tooltip_style="sessionToolTip" 854 > 855 Exit 856 <action on="Press">exitMenuButton();</action> 857 </object> 803 858 </object> 804 805 <!-- Chat button -->806 <object type="button"807 name="chatButton"808 style="StoneButtonFancy"809 size="0 64 100% 92"810 tooltip_style="sessionToolTip"811 >812 Chat813 <action on="Press">chatMenuButton();</action>814 </object>815 816 <!-- Resign button -->817 <object type="button"818 name="menuResignButton"819 style="StoneButtonFancy"820 size="0 96 100% 124"821 tooltip_style="sessionToolTip"822 >823 Resign824 <action on="Press">resignMenuButton();</action>825 </object>826 827 <!-- Exit button -->828 <object type="button"829 name="menuExitButton"830 style="StoneButtonFancy"831 size="0 128 100% 156"832 tooltip_style="sessionToolTip"833 >834 Exit835 <action on="Press">exitMenuButton();</action>836 </object>837 838 <!-- Pause / Resume Button -->839 <object type="button"840 name="pauseButton"841 style="StoneButtonFancy"842 size="0 160 100% 188"843 tooltip_style="sessionToolTip"844 >845 <object name="pauseButtonText" type="text" style="CenteredButtonText" ghost="true">Pause</object>846 <action on="Press">togglePause();</action>847 </object>848 849 <!-- Manual button -->850 <object type="button"851 name="manualButton"852 style="StoneButtonFancy"853 size="0 192 100% 220"854 tooltip_style="sessionToolTip"855 >856 Manual857 <action on="Press">openManual();</action>858 </object>859 </object>860 859 </object> 861 860 862 861 <!-- In-progress research -->