home *** CD-ROM | disk | FTP | other *** search
/ CyberMycha 2003 October / cmycha200310.iso / NHL2004 / NHL2004Demo.exe / fe / nhl / js / game_options_interface.js < prev    next >
Text File  |  2003-08-20  |  9KB  |  332 lines

  1. //Copyright (c) 2002 Electronic Arts Inc. All rights reserved.
  2.  
  3. var oGameFace             = window.external.GameInterface;
  4. var oGameManager        = oGameFace.LeagueServerInterface.LeagueDispatch.ManagerInterface;
  5. var oAudioInterface        = oGameFace.AudioInterface;
  6. var aComboBox    = null;
  7. var aCurrentRosters = new Array();
  8. var aCameraType = new Array();
  9. var aControlIndicator = new Array();
  10. var bDialogClosed = false;
  11.  
  12. function initSettings()
  13. {
  14.     if (!oLeagueFace.ProviderInterface.IsInSetup())
  15.     {
  16.           oLeagueFace.ProviderInterface.EnterSetup();
  17.      }
  18.  
  19.     aComboBox = new ComboBox("drpCurrentRosters",    0, 232, 170, 19, 100, "divCurrentRosters");
  20.     aComboBox = new ComboBox("drpCameraType",        30, 232, 170, 19, 100, "divCameraType");
  21.     aComboBox = new ComboBox("drpControlIndicator",    57, 232, 170, 19, 100, "divControlIndicator");
  22.     //aComboBox = new ComboBox("drpSaveCamera",        0, 232, 170, 19, 100, "divSaveCamera");
  23.  
  24.     //initToggle( tglPassMeter_off );
  25.     //initToggle( tglPassMeter_on );
  26.     
  27.     //initToggle( tglAutoZoom_on );
  28.     //initToggle( tglAutoZoom_off );
  29.     //initToggle( tglBreakawayCamera_on );
  30.     //initToggle( tglBreakawayCamera_off );
  31.     initToggle( tglClockDisplay_on );
  32.     initToggle( tglClockDisplay_off );
  33.     //initToggle( tglEmoMeter_off );
  34.     //initToggle( tglEmoMeter_on );
  35.  
  36.     //initToggle( tglPreGame_on );
  37.     //initToggle( tglPreGame_off );
  38.     initToggle( tglPuckShadow_on );
  39.     initToggle( tglPuckShadow_off );
  40.     
  41.     initToggle( tglAttribute_on );
  42.     initToggle( tglAttribute_off );    
  43.  
  44.     //init game interface
  45.     oCallbackTable = new CallbackTableObject();
  46.     initGameInterface( oCallbackTable );
  47.  
  48.     //init drop down menus
  49.     initCurrentRosters();
  50.     initCameraType();
  51.     //initAutoZoom();
  52.     //initBreakawayCamera();
  53.  
  54.     //init slider
  55.     //initPlayCamera();
  56.     initControlIndicator();
  57.     initClockDisplay();
  58.     //initEmotionMeter();
  59.     //initPassMeter();
  60.     //initPreGame();
  61.     initPuckShadow();
  62.     initAttributeIcon();
  63.  
  64.     //initIsLeague();
  65.     initIsOnline();
  66. }
  67.  
  68. function initIsOnline()
  69. {
  70.     if (oLeagueFace.ProviderInterface.isOnlineSetup())
  71.     {
  72.         //breakAwayCam.style.visibility    = "hidden";
  73.         //hitSaveCam.style.visibility        = "hidden";
  74.         //gameBreaker.style.visibility    = "hidden";
  75.         //tglPreGame.style.top            = breakAwayCam.style.top;
  76.     }
  77. }
  78.  
  79. function initIsLeague()
  80. {
  81.     //variable from global_game_interface.js
  82.     if (bIsLeague)
  83.     {
  84.         //tglPreGame.style.visibility        = "hidden";
  85.     }
  86.     else
  87.     {
  88.         if (oLeagueFace.ProviderInterface.isOnlineSetup())
  89.         {
  90.             //tglPreGame.style.top        = hitSaveCam.style.top;
  91.         }
  92.     }
  93. }
  94.  
  95. function canExitScreen()
  96. {    
  97.     if (aCurrentRosters[drpCurrentRosters.Selected*2] != -1 && !bDialogClosed)
  98.     {
  99.         oAudioInterface.PlayWarningSFX();
  100.  
  101.         System.GUI.dialog.innerHTML = nhlMsg("CHANGE_ROSTERS") + " " + aCurrentRosters[drpCurrentRosters.Selected*2+1] + "?";
  102.         System.GUI.dialog.setSize( 400 , 150 );
  103.         System.GUI.dialog.align = "center";
  104.         System.GUI.dialog.addButton( "okay_button" , nhlMsg("YES", true), function(){ oGameData.ExecuteChangeRoster( aCurrentRosters[drpCurrentRosters.Selected*2] ); bDialogClosed=true; });
  105.         System.GUI.dialog.addButton( "cancel_button" , nhlMsg("NO", true), function(){ bDialogClosed=true; });
  106.         System.GUI.dialog.show( true );
  107.     }
  108.     else
  109.     {
  110.         oLeagueFace.ManagerInterface.SaveGameSettings( oGameData );
  111.         removeCallbackTable();        
  112.         return true;
  113.     }    
  114. }
  115.  
  116. function clearSettings()
  117. {
  118. }
  119.  
  120.  
  121. function initCurrentRosters()
  122. {
  123.     drpCurrentRosters.ClearAll();
  124.     
  125.     aCurrentRosters = oGameData.GetChangeRosterList().split(',')
  126.  
  127.     for (var i=1; i<aCurrentRosters.length; i+=2)
  128.     {
  129.         drpCurrentRosters.AddString(aCurrentRosters[i]);
  130.     }
  131. }
  132. //function changeCurrentRosters()
  133. //{
  134. //   oGameManager.ExecuteChangeRoster([in] int index );
  135. //}
  136.  
  137.  
  138. //Toggle camera drop down
  139. function initCameraType()
  140. {
  141.     //drpCameraType.AppendValuesOptions( oGameManager.GetCameraTypeList().split(',') );
  142.  
  143.     drpCameraType.ClearAll();
  144.     aCameraType = oGameManager.GetCameraTypeList().split(',')
  145.  
  146.     for (var i=1; i<aCameraType.length-2; i+=2)
  147.     {
  148.         drpCameraType.AddString(aCameraType[i]);
  149.     }
  150.  
  151.     oCallbackTable.CameraTypeChanged();
  152. }
  153. function changeCameraType()
  154. {
  155.     oGameData.CameraType = drpCameraType.Selected;
  156. }
  157.  
  158. //Auto Zoom toggle
  159. function initAutoZoom()
  160. {
  161.     oCallbackTable.AutoZoomChanged();
  162. }
  163.  
  164. function changeAutoZoom( oTgl )
  165. {
  166.     oAudioInterface.PlayToggleSFX();
  167.     oGameData.AutoZoom = oTgl.selected;
  168. }
  169.  
  170. //Breakaway Camera toggle
  171. function initBreakawayCamera()
  172. {
  173.     oCallbackTable.BreakawayCamChanged();
  174. }
  175.  
  176. function changeBreakawayCamera( oTgl )
  177. {
  178.     oAudioInterface.PlayToggleSFX();
  179.     oGameData.BreakawayCam = oTgl.selected;
  180. }
  181.  
  182. //Hit/Save Camera slider
  183. function initPlayCamera()
  184. {
  185.     oCallbackTable.OnPlayCamChanged();
  186. }
  187.  
  188. function changePlayCamera()
  189. {
  190.     oGameData.OnPlayCam = sldPlayCamera.value;
  191. }
  192.  
  193. //Control Indicator dropdown menu
  194. function initControlIndicator()
  195. {
  196.     //drpControlIndicator.AppendValuesOptions( oGameManager.GetControlIndicatorList().split(',') );
  197.  
  198.     drpControlIndicator.ClearAll();
  199.     aControlIndicator = oGameManager.GetControlIndicatorList().split(',')
  200.  
  201.     for (var i=1; i<aControlIndicator.length-2; i+=2)
  202.     {
  203.         drpControlIndicator.AddString(aControlIndicator[i]);
  204.     }
  205.  
  206.     oCallbackTable.ControlIndicatorChanged();
  207. }
  208.  
  209. function changeControlIndicator()
  210. {
  211.     oGameData.ControlIndicator = drpControlIndicator.Selected;
  212. }
  213.  
  214. //clock display toggle
  215. function initClockDisplay()
  216. {
  217.     oCallbackTable.ClockDisplayChanged();
  218. }
  219.  
  220. function changeClockDisplay( oTgl )
  221. {
  222.     oAudioInterface.PlayToggleSFX();
  223.     oGameData.ClockDisplay = oTgl.selected;
  224. }
  225.  
  226. //emotion meter toggle
  227. function initEmotionMeter()
  228. {
  229.     oCallbackTable.EmotionMeterChanged();
  230. }
  231.  
  232. function changeEmotionMeter( oTgl )
  233. {
  234.     oAudioInterface.PlayToggleSFX();
  235.     oGameData.EmotionMeter = oTgl.selected;
  236. }
  237.  
  238. //pass meter toggle
  239. function initPassMeter()
  240. {
  241.     oCallbackTable.PassMeterChanged();
  242. }
  243.  
  244. function changePassMeter( oTgl )
  245. {
  246.     oAudioInterface.PlayToggleSFX();
  247.     //oGameData.PassMeter = oTgl.selected;
  248. }
  249.  
  250.  
  251. //Pre Game toggle
  252. function initPreGame()
  253. {
  254.     oCallbackTable.PreGameChanged();
  255. }
  256.  
  257. function changePreGame( oTgl )
  258. {
  259.     oAudioInterface.PlayToggleSFX();
  260.     oGameData.PreGame = oTgl.selected;
  261. }
  262.  
  263. //Puck Shadow toggle
  264. function initPuckShadow()
  265. {
  266.     oCallbackTable.PuckShadowChanged();
  267. }
  268.  
  269. function initAttributeIcon()
  270. {
  271.     oCallbackTable.AttributeIconChanged();
  272. }
  273.  
  274. function changePuckShadow( oTgl )
  275. {
  276.     oAudioInterface.PlayToggleSFX();
  277.     oGameData.PuckShadow = oTgl.selected;
  278. }
  279.  
  280. function changeAttributeIcon( oTgl )
  281. {        
  282.     oAudioInterface.PlayToggleSFX();     
  283.     oGameData.AttributeIndicator = oTgl.selected;
  284. }
  285.  
  286. function changeCamera()
  287. {
  288.     drpCameraType.Selected = oGameData.CameraType;
  289.  
  290.     if (!oLeagueFace.ProviderInterface.isOnlineSetup())
  291.     {/*
  292.         //if live or broadcast hide breakaway cam
  293.         if (oGameData.CameraType > 3)
  294.         {
  295.  
  296.             tglBreakawayCamera_off.style.visibility = "hidden";
  297.             tglBreakawayCamera_on.style.visibility = "hidden";
  298.             breakAwayOnText.style.visibility = "hidden";
  299.             breakAwayOffText.style.left = 232;
  300.         }
  301.         else
  302.         {
  303.             tglBreakawayCamera_off.style.visibility = "visible";
  304.             tglBreakawayCamera_on.style.visibility = "visible";
  305.             breakAwayOnText.style.visibility = "visible";
  306.             breakAwayOffText.style.left = 252;
  307.         }
  308.         */
  309.     }
  310. }
  311.  
  312. //callback Class
  313. function CallbackTableObject()
  314. {
  315.     this.CameraTypeChanged = function (){ changeCamera(); };
  316.     //this.AutoZoomChanged = function (){(oGameData.AutoZoom) ? doSwap( tglAutoZoom_on ) : doSwap( tglAutoZoom_off );};
  317.     //this.BreakawayCamChanged = function (){(oGameData.BreakawayCam) ? doSwap( tglBreakawayCamera_on ) :doSwap( tglBreakawayCamera_off );};
  318.     //this.OnPlayCamChanged = function (){sldPlayCamera.SetValue( oGameData.OnPlayCam );};
  319.     this.ControlIndicatorChanged = function (){drpControlIndicator.Selected = oGameData.ControlIndicator; };
  320.     this.ClockDisplayChanged = function (){(oGameData.ClockDisplay) ? doSwap( tglClockDisplay_on ) : doSwap( tglClockDisplay_off );};
  321.     //this.EmotionMeterChanged = function (){(oGameData.EmotionMeter) ? doSwap(tglEmoMeter_on ) : doSwap(tglEmoMeter_off );};
  322.     //this.PassMeterChanged = function (){/*(oGameData.PassMeter) ? doSwap(tglPassMeter_on ) :doSwap(tglPassMeter_off );*/};
  323.     //this.PreGameChanged = function (){(oGameData.PreGame) ? doSwap(tglPreGame_on ) :  doSwap(tglPreGame_off );};
  324.     this.PuckShadowChanged = function (){(oGameData.PuckShadow) ? doSwap( tglPuckShadow_on ) : doSwap( tglPuckShadow_off );};
  325.     this.AttributeIconChanged = function (){(oGameData.AttributeIndicator) ? doSwap( tglAttribute_on ) : doSwap( tglAttribute_off );};
  326.     //this.GameRulesChanged = function()
  327.     //{
  328.     //    this.PreGameChanged();
  329.     //};
  330.  
  331. }
  332.