home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Joystick Magazine 2003 November
/
CD1_JOY_153.iso
/
demos
/
NHL2004Demo.exe
/
fe
/
nhl
/
js
/
game_options_interface.js
< prev
next >
Wrap
Text File
|
2003-08-20
|
9KB
|
332 lines
//Copyright (c) 2002 Electronic Arts Inc. All rights reserved.
var oGameFace = window.external.GameInterface;
var oGameManager = oGameFace.LeagueServerInterface.LeagueDispatch.ManagerInterface;
var oAudioInterface = oGameFace.AudioInterface;
var aComboBox = null;
var aCurrentRosters = new Array();
var aCameraType = new Array();
var aControlIndicator = new Array();
var bDialogClosed = false;
function initSettings()
{
if (!oLeagueFace.ProviderInterface.IsInSetup())
{
oLeagueFace.ProviderInterface.EnterSetup();
}
aComboBox = new ComboBox("drpCurrentRosters", 0, 232, 170, 19, 100, "divCurrentRosters");
aComboBox = new ComboBox("drpCameraType", 30, 232, 170, 19, 100, "divCameraType");
aComboBox = new ComboBox("drpControlIndicator", 57, 232, 170, 19, 100, "divControlIndicator");
//aComboBox = new ComboBox("drpSaveCamera", 0, 232, 170, 19, 100, "divSaveCamera");
//initToggle( tglPassMeter_off );
//initToggle( tglPassMeter_on );
//initToggle( tglAutoZoom_on );
//initToggle( tglAutoZoom_off );
//initToggle( tglBreakawayCamera_on );
//initToggle( tglBreakawayCamera_off );
initToggle( tglClockDisplay_on );
initToggle( tglClockDisplay_off );
//initToggle( tglEmoMeter_off );
//initToggle( tglEmoMeter_on );
//initToggle( tglPreGame_on );
//initToggle( tglPreGame_off );
initToggle( tglPuckShadow_on );
initToggle( tglPuckShadow_off );
initToggle( tglAttribute_on );
initToggle( tglAttribute_off );
//init game interface
oCallbackTable = new CallbackTableObject();
initGameInterface( oCallbackTable );
//init drop down menus
initCurrentRosters();
initCameraType();
//initAutoZoom();
//initBreakawayCamera();
//init slider
//initPlayCamera();
initControlIndicator();
initClockDisplay();
//initEmotionMeter();
//initPassMeter();
//initPreGame();
initPuckShadow();
initAttributeIcon();
//initIsLeague();
initIsOnline();
}
function initIsOnline()
{
if (oLeagueFace.ProviderInterface.isOnlineSetup())
{
//breakAwayCam.style.visibility = "hidden";
//hitSaveCam.style.visibility = "hidden";
//gameBreaker.style.visibility = "hidden";
//tglPreGame.style.top = breakAwayCam.style.top;
}
}
function initIsLeague()
{
//variable from global_game_interface.js
if (bIsLeague)
{
//tglPreGame.style.visibility = "hidden";
}
else
{
if (oLeagueFace.ProviderInterface.isOnlineSetup())
{
//tglPreGame.style.top = hitSaveCam.style.top;
}
}
}
function canExitScreen()
{
if (aCurrentRosters[drpCurrentRosters.Selected*2] != -1 && !bDialogClosed)
{
oAudioInterface.PlayWarningSFX();
System.GUI.dialog.innerHTML = nhlMsg("CHANGE_ROSTERS") + " " + aCurrentRosters[drpCurrentRosters.Selected*2+1] + "?";
System.GUI.dialog.setSize( 400 , 150 );
System.GUI.dialog.align = "center";
System.GUI.dialog.addButton( "okay_button" , nhlMsg("YES", true), function(){ oGameData.ExecuteChangeRoster( aCurrentRosters[drpCurrentRosters.Selected*2] ); bDialogClosed=true; });
System.GUI.dialog.addButton( "cancel_button" , nhlMsg("NO", true), function(){ bDialogClosed=true; });
System.GUI.dialog.show( true );
}
else
{
oLeagueFace.ManagerInterface.SaveGameSettings( oGameData );
removeCallbackTable();
return true;
}
}
function clearSettings()
{
}
function initCurrentRosters()
{
drpCurrentRosters.ClearAll();
aCurrentRosters = oGameData.GetChangeRosterList().split(',')
for (var i=1; i<aCurrentRosters.length; i+=2)
{
drpCurrentRosters.AddString(aCurrentRosters[i]);
}
}
//function changeCurrentRosters()
//{
// oGameManager.ExecuteChangeRoster([in] int index );
//}
//Toggle camera drop down
function initCameraType()
{
//drpCameraType.AppendValuesOptions( oGameManager.GetCameraTypeList().split(',') );
drpCameraType.ClearAll();
aCameraType = oGameManager.GetCameraTypeList().split(',')
for (var i=1; i<aCameraType.length-2; i+=2)
{
drpCameraType.AddString(aCameraType[i]);
}
oCallbackTable.CameraTypeChanged();
}
function changeCameraType()
{
oGameData.CameraType = drpCameraType.Selected;
}
//Auto Zoom toggle
function initAutoZoom()
{
oCallbackTable.AutoZoomChanged();
}
function changeAutoZoom( oTgl )
{
oAudioInterface.PlayToggleSFX();
oGameData.AutoZoom = oTgl.selected;
}
//Breakaway Camera toggle
function initBreakawayCamera()
{
oCallbackTable.BreakawayCamChanged();
}
function changeBreakawayCamera( oTgl )
{
oAudioInterface.PlayToggleSFX();
oGameData.BreakawayCam = oTgl.selected;
}
//Hit/Save Camera slider
function initPlayCamera()
{
oCallbackTable.OnPlayCamChanged();
}
function changePlayCamera()
{
oGameData.OnPlayCam = sldPlayCamera.value;
}
//Control Indicator dropdown menu
function initControlIndicator()
{
//drpControlIndicator.AppendValuesOptions( oGameManager.GetControlIndicatorList().split(',') );
drpControlIndicator.ClearAll();
aControlIndicator = oGameManager.GetControlIndicatorList().split(',')
for (var i=1; i<aControlIndicator.length-2; i+=2)
{
drpControlIndicator.AddString(aControlIndicator[i]);
}
oCallbackTable.ControlIndicatorChanged();
}
function changeControlIndicator()
{
oGameData.ControlIndicator = drpControlIndicator.Selected;
}
//clock display toggle
function initClockDisplay()
{
oCallbackTable.ClockDisplayChanged();
}
function changeClockDisplay( oTgl )
{
oAudioInterface.PlayToggleSFX();
oGameData.ClockDisplay = oTgl.selected;
}
//emotion meter toggle
function initEmotionMeter()
{
oCallbackTable.EmotionMeterChanged();
}
function changeEmotionMeter( oTgl )
{
oAudioInterface.PlayToggleSFX();
oGameData.EmotionMeter = oTgl.selected;
}
//pass meter toggle
function initPassMeter()
{
oCallbackTable.PassMeterChanged();
}
function changePassMeter( oTgl )
{
oAudioInterface.PlayToggleSFX();
//oGameData.PassMeter = oTgl.selected;
}
//Pre Game toggle
function initPreGame()
{
oCallbackTable.PreGameChanged();
}
function changePreGame( oTgl )
{
oAudioInterface.PlayToggleSFX();
oGameData.PreGame = oTgl.selected;
}
//Puck Shadow toggle
function initPuckShadow()
{
oCallbackTable.PuckShadowChanged();
}
function initAttributeIcon()
{
oCallbackTable.AttributeIconChanged();
}
function changePuckShadow( oTgl )
{
oAudioInterface.PlayToggleSFX();
oGameData.PuckShadow = oTgl.selected;
}
function changeAttributeIcon( oTgl )
{
oAudioInterface.PlayToggleSFX();
oGameData.AttributeIndicator = oTgl.selected;
}
function changeCamera()
{
drpCameraType.Selected = oGameData.CameraType;
if (!oLeagueFace.ProviderInterface.isOnlineSetup())
{/*
//if live or broadcast hide breakaway cam
if (oGameData.CameraType > 3)
{
tglBreakawayCamera_off.style.visibility = "hidden";
tglBreakawayCamera_on.style.visibility = "hidden";
breakAwayOnText.style.visibility = "hidden";
breakAwayOffText.style.left = 232;
}
else
{
tglBreakawayCamera_off.style.visibility = "visible";
tglBreakawayCamera_on.style.visibility = "visible";
breakAwayOnText.style.visibility = "visible";
breakAwayOffText.style.left = 252;
}
*/
}
}
//callback Class
function CallbackTableObject()
{
this.CameraTypeChanged = function (){ changeCamera(); };
//this.AutoZoomChanged = function (){(oGameData.AutoZoom) ? doSwap( tglAutoZoom_on ) : doSwap( tglAutoZoom_off );};
//this.BreakawayCamChanged = function (){(oGameData.BreakawayCam) ? doSwap( tglBreakawayCamera_on ) :doSwap( tglBreakawayCamera_off );};
//this.OnPlayCamChanged = function (){sldPlayCamera.SetValue( oGameData.OnPlayCam );};
this.ControlIndicatorChanged = function (){drpControlIndicator.Selected = oGameData.ControlIndicator; };
this.ClockDisplayChanged = function (){(oGameData.ClockDisplay) ? doSwap( tglClockDisplay_on ) : doSwap( tglClockDisplay_off );};
//this.EmotionMeterChanged = function (){(oGameData.EmotionMeter) ? doSwap(tglEmoMeter_on ) : doSwap(tglEmoMeter_off );};
//this.PassMeterChanged = function (){/*(oGameData.PassMeter) ? doSwap(tglPassMeter_on ) :doSwap(tglPassMeter_off );*/};
//this.PreGameChanged = function (){(oGameData.PreGame) ? doSwap(tglPreGame_on ) : doSwap(tglPreGame_off );};
this.PuckShadowChanged = function (){(oGameData.PuckShadow) ? doSwap( tglPuckShadow_on ) : doSwap( tglPuckShadow_off );};
this.AttributeIconChanged = function (){(oGameData.AttributeIndicator) ? doSwap( tglAttribute_on ) : doSwap( tglAttribute_off );};
//this.GameRulesChanged = function()
//{
// this.PreGameChanged();
//};
}