first commit
This commit is contained in:
+193
@@ -0,0 +1,193 @@
|
||||
class Cafe2_BaseUIScreen
|
||||
{
|
||||
var m_changeToScreen = null;
|
||||
var m_executeOuttroCallBack = null;
|
||||
var m_uiComponentArray = new Array();
|
||||
function Cafe2_BaseUIScreen(screen)
|
||||
{
|
||||
Cafe2_BaseUIScreen.m_screen = screen;
|
||||
Cafe2_BaseUIScreen.m_screen.onEnterFrame = _global.bind0(this,this.frameDelayedInitCallback);
|
||||
}
|
||||
function frameDelayedInit()
|
||||
{
|
||||
trace("\n\nCafe2_BaseUIScreen::frameDelayedInitCallback() :");
|
||||
var _loc1_ = new Array("N.B. You *must* override frameDelayedInit() in your","\nscreens and move the call to initGUI() to frameDelayedInit().\n");
|
||||
trace(_loc1_[0] + _loc1_[1]);
|
||||
}
|
||||
function frameDelayedInitCallback()
|
||||
{
|
||||
Cafe2_BaseUIScreen.m_screen.onEnterFrame = null;
|
||||
this.frameDelayedInit();
|
||||
}
|
||||
function outtroComplete(theComponent)
|
||||
{
|
||||
trace("Cafe2_BaseUIScreen::outtroComplete() " + theComponent);
|
||||
var _loc2_ = 0;
|
||||
while(_loc2_ < Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray.length)
|
||||
{
|
||||
if(theComponent == Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray[_loc2_])
|
||||
{
|
||||
break;
|
||||
}
|
||||
_loc2_ = _loc2_ + 1;
|
||||
}
|
||||
Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray.splice(_loc2_,1);
|
||||
if(Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray.length <= 0)
|
||||
{
|
||||
if(Cafe2_BaseUIScreen.m_thisClass.m_changeToScreen != null)
|
||||
{
|
||||
_global.gSM.changeMainScreen(Cafe2_BaseUIScreen.m_thisClass.m_changeToScreen);
|
||||
}
|
||||
}
|
||||
}
|
||||
function introComplete(theComponent)
|
||||
{
|
||||
trace("Cafe2_BaseUIScreen::introComplete()");
|
||||
theComponent.restoreVisualState();
|
||||
Cafe2_BaseUIScreen.m_thisClass.m_introCount--;
|
||||
if(Cafe2_BaseUIScreen.m_thisClass.m_introCount <= 0)
|
||||
{
|
||||
Cafe2_BaseUIScreen.m_thisClass.onIntrosComplete();
|
||||
}
|
||||
}
|
||||
function onIntrosComplete()
|
||||
{
|
||||
trace("Cafe2_BaseUIScreen::onIntrosComplete()");
|
||||
_global.gEH.setLocalEventHandler(this.localEventHandler);
|
||||
_global.gEH.enableCurrentLocalEventHandler();
|
||||
}
|
||||
function registerIntroOuttroComponents(components)
|
||||
{
|
||||
trace("Cafe2_BaseUIScreen::registerIntroOuttroComponents()");
|
||||
this.m_uiComponentArray = components;
|
||||
this.m_introCount = this.m_uiComponentArray.length;
|
||||
var _loc2_ = 0;
|
||||
while(_loc2_ < this.m_introCount)
|
||||
{
|
||||
this.m_uiComponentArray[_loc2_].setIntroCallback(this.introComplete);
|
||||
_loc2_ = _loc2_ + 1;
|
||||
}
|
||||
}
|
||||
function executeBackFunction(theComponent)
|
||||
{
|
||||
trace("Cafe2_BaseUIScreen::executeBackFunction" + theComponent);
|
||||
var _loc2_ = 0;
|
||||
while(_loc2_ < Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray.length)
|
||||
{
|
||||
if(theComponent == Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray[_loc2_])
|
||||
{
|
||||
break;
|
||||
}
|
||||
_loc2_ = _loc2_ + 1;
|
||||
}
|
||||
Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray.splice(_loc2_,1);
|
||||
if(Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray.length <= 0)
|
||||
{
|
||||
_global.gSM.goBackScreen();
|
||||
}
|
||||
}
|
||||
function startIntro()
|
||||
{
|
||||
trace("Cafe2_BaseUIScreen::startIntro()");
|
||||
var _loc3_ = this.m_uiComponentArray.length;
|
||||
var _loc2_ = 0;
|
||||
while(_loc2_ < _loc3_)
|
||||
{
|
||||
this.m_uiComponentArray[_loc2_].intro();
|
||||
_loc2_ = _loc2_ + 1;
|
||||
}
|
||||
}
|
||||
function startOuttro(newScreen)
|
||||
{
|
||||
trace("Cafe2_BaseUIScreen::startOuttro");
|
||||
this.m_changeToScreen = newScreen;
|
||||
var _loc3_ = Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray.length;
|
||||
if(_loc3_ > 0)
|
||||
{
|
||||
var _loc2_ = 0;
|
||||
while(_loc2_ < _loc3_)
|
||||
{
|
||||
Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray[_loc2_].outtro(this.outtroComplete);
|
||||
_loc2_ = _loc2_ + 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.outtroComplete(null);
|
||||
}
|
||||
}
|
||||
function startOuttroAndCallBack(doAfterOuttroComplete)
|
||||
{
|
||||
trace("Cafe2_BaseUIScreen::startOuttro");
|
||||
this.m_executeOuttroCallBack = doAfterOuttroComplete;
|
||||
var _loc3_ = Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray.length;
|
||||
if(_loc3_ > 0)
|
||||
{
|
||||
var _loc2_ = 0;
|
||||
while(_loc2_ < _loc3_)
|
||||
{
|
||||
Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray[_loc2_].outtro(this.outtroAndCallBackComplete);
|
||||
_loc2_ = _loc2_ + 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.outtroAndCallBackComplete(null);
|
||||
}
|
||||
}
|
||||
function outtroAndCallBackComplete(theComponent)
|
||||
{
|
||||
trace("Cafe2_BaseUIScreen::outtroComplete() " + theComponent);
|
||||
var _loc1_ = 0;
|
||||
while(_loc1_ < Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray.length)
|
||||
{
|
||||
if(theComponent == Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray[_loc1_])
|
||||
{
|
||||
break;
|
||||
}
|
||||
_loc1_ = _loc1_ + 1;
|
||||
}
|
||||
Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray.splice(_loc1_,1);
|
||||
if(Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray.length <= 0)
|
||||
{
|
||||
Cafe2_BaseUIScreen.m_thisClass.m_executeOuttroCallBack();
|
||||
}
|
||||
}
|
||||
function backButtonClicked()
|
||||
{
|
||||
trace("Cafe2_BaseUIScreen::backButtonClicked()");
|
||||
var _loc3_ = Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray.length;
|
||||
if(_loc3_ > 0)
|
||||
{
|
||||
var _loc2_ = 0;
|
||||
while(_loc2_ < _loc3_)
|
||||
{
|
||||
Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray[_loc2_].outtro(Cafe2_BaseUIScreen.m_thisClass.executeBackFunction);
|
||||
_loc2_ = _loc2_ + 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_global.gSM.goBackScreen();
|
||||
}
|
||||
}
|
||||
function localEventHandler(keyCode, controller)
|
||||
{
|
||||
trace("Cafe2_BaseUIScreen::localEventHandler() keyCode == " + keyCode);
|
||||
_global.gFM.handleDefaultInputs(keyCode);
|
||||
}
|
||||
function clearData()
|
||||
{
|
||||
Cafe2_BaseUIScreen.m_screen = null;
|
||||
Cafe2_BaseUIScreen.m_thisClass = null;
|
||||
this.m_changeToScreen = null;
|
||||
this.m_uiComponentArray = null;
|
||||
}
|
||||
function bind0(obj, func)
|
||||
{
|
||||
return function()
|
||||
{
|
||||
func.call(obj);
|
||||
};
|
||||
}
|
||||
}
|
||||
+98
@@ -0,0 +1,98 @@
|
||||
class fes_m_chapterSelect extends Cafe2_BaseUIScreen
|
||||
{
|
||||
function fes_m_chapterSelect(screen)
|
||||
{
|
||||
super(screen);
|
||||
trace("fes_m_chapterSelect::fes_m_chapterSelect()");
|
||||
Cafe2_BaseUIScreen.m_thisClass = this;
|
||||
this.m_chapterSelectPanel = screen.chapterSelectPanel;
|
||||
}
|
||||
function frameDelayedInit()
|
||||
{
|
||||
this.m_localMessageHandlerFunc = _global.bind0(this,this.localMessageHandler);
|
||||
_global.gMH.addMessageHandler(this.m_localMessageHandlerFunc);
|
||||
this.m_eventHandlerIndex = _global.gEH.addLocalEventHandler(this.localEventHandler);
|
||||
_global.gEH.enableLocalEventHandler();
|
||||
this.initGUI();
|
||||
this.startIntro();
|
||||
}
|
||||
function initGUI()
|
||||
{
|
||||
_global.gSM.setOnExitScreen(_global.bind0(this,this.onScreenExit));
|
||||
var _loc4_ = new Array();
|
||||
var _loc5_ = Cafe2_BaseUIScreen.m_screen.button_Back;
|
||||
_loc5_.enable();
|
||||
_loc5_.setOnMouseUpFunction(_global.bind0(this,this.OnBackButtonClick));
|
||||
_loc4_.push(_loc5_);
|
||||
var _loc3_ = Cafe2_BaseUIScreen.m_screen.button_Play;
|
||||
_loc3_.enable();
|
||||
_loc3_.setOnMouseUpFunction(_global.bind0(this,this.OnPlayButtonClick));
|
||||
_loc4_.push(_loc3_);
|
||||
this.m_chapterSelectCallback = _global.bind1DynamicParams(this,this.onChapterSelectChanged);
|
||||
this.m_chapterSelectPanel.addObserver(this.m_chapterSelectCallback);
|
||||
this.registerIntroOuttroComponents(_loc4_);
|
||||
}
|
||||
function onChapterSelectChanged()
|
||||
{
|
||||
// Checked
|
||||
getUrl("FSCommand:CallGameFunction","%SetMap\?Map=" + String(Cafe2_BaseUIScreen.m_screen.chapterSelectPanel.getSelectedMapId()));
|
||||
// Checked
|
||||
getURL("FSCommand:CallGameFunction","%Campaign_SetMission?MissionIndex=" + String(this.m_chapterSelectPanel.getSelectedMission()));
|
||||
}
|
||||
function localMessageHandler(messageCode)
|
||||
{
|
||||
var _loc1_ = true;
|
||||
_loc1_ = false;
|
||||
return _loc1_;
|
||||
}
|
||||
function localEventHandler(keyCode, controller)
|
||||
{
|
||||
if(keyCode !== INPUTCODE.ESCAPE)
|
||||
{
|
||||
_global.gFM.handleDefaultInputs(keyCode);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.OnBackButtonClick();
|
||||
}
|
||||
}
|
||||
function onScreenExit()
|
||||
{
|
||||
this.m_chapterSelectPanel.removeObserver(this.m_chapterSelectCallback);
|
||||
delete this.m_chapterSelectCallback;
|
||||
_global.gMH.removeMessageHandler(this.m_localMessageHandlerFunc);
|
||||
delete this.m_localMessageHandlerFunc;
|
||||
_global.gEH.removeLocalEventHandler(this.m_eventHandlerIndex);
|
||||
Cafe2_BaseUIScreen.m_screen = null;
|
||||
Cafe2_BaseUIScreen.m_thisClass = null;
|
||||
delete _global.fes_m_chapterSelect;
|
||||
delete _global.Cafe2_BaseUIScreen;
|
||||
}
|
||||
function OnBackButtonClick()
|
||||
{
|
||||
_global.gSM.goBackScreen();
|
||||
}
|
||||
function OnPlayButtonClick()
|
||||
{
|
||||
var _loc3_ = this.m_chapterSelectPanel.getSelectedMission();
|
||||
// Checked
|
||||
getURL("FSCommand:CallGameFunction","%LoadAutoSaveSilent?FactionIndex=" + this.m_chapterSelectPanel.getSelectedCampaign());
|
||||
// Checked
|
||||
getURL("FSCommand:CallGameFunction","%Campaign_SetMission?MissionIndex=" + _loc3_);
|
||||
_global.GAME.COOPMODE = _global.ENUM.GAME_COOPMODE_CHOOSER;
|
||||
_global.GAME.PLAY_MISSION_INTRO_MOVIE = true;
|
||||
_global.gSM.changeMainScreen(_global.SCREEN.FES_COOP_MISSION_BRIEFING);
|
||||
}
|
||||
function OnQuickLaunchButtonClick()
|
||||
{
|
||||
var _loc2_ = this.m_chapterSelectPanel.getSelectedMission();
|
||||
// Checked
|
||||
getURL("FSCommand:CallGameFunction","%Campaign_SetMission?MissionIndex=" + _loc2_);
|
||||
// Checked
|
||||
getUrl("FSCommand:CallGameFunction", "%Mission_SetAI?AIIndex=0");
|
||||
// Checked
|
||||
getURL("FSCommand:CallGameFunction","%Campaign_SetDifficulty?Difficulty=" + this.m_chapterSelectPanel.getSelectedDifficulty());
|
||||
// Checked
|
||||
getUrl("FSCommand:CallGameFunction", "%Campaign_StartMission");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
var screen = new fes_m_chapterSelect(this);
|
||||
stop();
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
on(construct){
|
||||
_type = "ChapterMapPreview";
|
||||
_indexMap = -1;
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
on(construct){
|
||||
m_title = "$HEADERCHAPTERSELECT";
|
||||
m_DropShadow = true;
|
||||
m_Outline = true;
|
||||
m_visible = true;
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
on(construct){
|
||||
m_focusDirs = "Up/Down";
|
||||
m_bEnabled = true;
|
||||
m_refFM = "_root.gFM";
|
||||
m_initiallySelected = false;
|
||||
m_tabIndex = 1;
|
||||
m_bVisible = true;
|
||||
m_label = "$BACK";
|
||||
m_contentSymbol = "buttonContentSymbol";
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
on(construct){
|
||||
m_focusDirs = "Up/Down";
|
||||
m_bEnabled = true;
|
||||
m_refFM = "_root.gFM";
|
||||
m_initiallySelected = false;
|
||||
m_tabIndex = 0;
|
||||
m_bVisible = true;
|
||||
m_label = "$PLAY";
|
||||
m_contentSymbol = "buttonContentSymbol";
|
||||
}
|
||||
Reference in New Issue
Block a user