first commit

This commit is contained in:
2026-06-14 01:40:04 +02:00
commit 5511354783
4787 changed files with 103543 additions and 0 deletions
@@ -0,0 +1,2 @@
this._parent.introComplete();
stop();
@@ -0,0 +1,2 @@
this._parent.outtroComplete();
stop();
@@ -0,0 +1,7 @@
on(construct){
m_visibleEntries = 16;
m_entryHeight = 25;
m_entryPaddingV = 0;
m_listboxWidth = 0;
m_listboxHeight = 0;
}
@@ -0,0 +1,18 @@
on(construct){
m_width = 200;
m_textAlign = false;
m_labelPosition = "right align";
m_label_x = 0;
m_label_y = 0;
m_focusDirs = "Up/Down";
m_iconType = "default";
m_extLabel = "";
m_nTruncateType = 0;
m_label = "Lobbies";
m_bEnabled = true;
m_refFM = "_global.gFM";
m_initiallySelected = true;
m_tabIndex = 1;
m_bVisible = true;
m_contentSymbol = "showHideContentMC Symbol";
}
@@ -0,0 +1,13 @@
on(construct){
m_focusDirs = "Up/Down";
m_numEntries = 10;
m_vPadding = 5;
m_bEnabled = true;
m_refFM = "_root.gFM";
m_initiallySelected = false;
m_tabIndex = -1;
m_bVisible = true;
m_scrollbarOffset = [];
m_scrollbarOffset[0] = 10;
m_scrollbarOffset[1] = 0;
}
@@ -0,0 +1,6 @@
on(construct){
m_nLength = 100;
m_nMax = 10;
m_nMin = 0;
m_nValue = 0;
}
@@ -0,0 +1,13 @@
on(construct){
m_focusDirs = "Up/Down";
m_numEntries = 10;
m_vPadding = 5;
m_bEnabled = true;
m_refFM = "_root.gFM";
m_initiallySelected = false;
m_tabIndex = -1;
m_bVisible = true;
m_scrollbarOffset = [];
m_scrollbarOffset[0] = 10;
m_scrollbarOffset[1] = 0;
}
@@ -0,0 +1,6 @@
on(construct){
m_nLength = 100;
m_nMax = 10;
m_nMin = 0;
m_nValue = 0;
}
@@ -0,0 +1,7 @@
on(construct){
m_numLines = 0;
m_width = 474;
m_chatMode = 0;
m_preservePlacement = false;
m_height = 300;
}
@@ -0,0 +1,6 @@
on(construct){
m_title = "$RECRUITMENT_CENTER";
m_DropShadow = true;
m_Outline = true;
m_visible = true;
}
@@ -0,0 +1,4 @@
on(construct){
m_visLines = 12;
m_width = 430;
}
@@ -0,0 +1,5 @@
on(construct){
m_visLines = 22;
m_width = 200;
m_configurationType = 1;
}
@@ -0,0 +1,18 @@
on(construct){
m_width = 200;
m_textAlign = false;
m_labelPosition = "right align";
m_label_x = 0;
m_label_y = 0;
m_focusDirs = "Up/Down";
m_iconType = "default";
m_extLabel = "";
m_nTruncateType = 0;
m_label = "$Invite_Recruit";
m_bEnabled = true;
m_refFM = "_global.gFM";
m_initiallySelected = false;
m_tabIndex = 6;
m_bVisible = true;
m_contentSymbol = "buttonContentSymbol";
}
@@ -0,0 +1,19 @@
on(construct){
m_width = 200;
m_textAlign = false;
m_labelPosition = "right align";
m_label_x = 0;
m_label_y = 0;
m_focusDirs = "Up/Down";
m_iconType = "default";
m_extLabel = "";
m_nTruncateType = 0;
m_label = "";
m_bEnabled = true;
m_refFM = "_root.gFM";
m_initiallySelected = false;
m_tabIndex = 10;
m_bVisible = true;
m_contentSymbol = "friendsTabButtonContentClip";
m_controller = "tabButtonController";
}
@@ -0,0 +1,19 @@
on(construct){
m_width = 200;
m_textAlign = false;
m_labelPosition = "right align";
m_label_x = 0;
m_label_y = 0;
m_focusDirs = "Up/Down";
m_iconType = "default";
m_extLabel = "";
m_nTruncateType = 0;
m_label = "";
m_bEnabled = true;
m_refFM = "_root.gFM";
m_initiallySelected = false;
m_tabIndex = 11;
m_bVisible = true;
m_contentSymbol = "lobbyTabButtonContentClip";
m_controller = "tabButtonController";
}
@@ -0,0 +1,3 @@
on(construct){
m_name = "RadioButtonController";
}
@@ -0,0 +1,206 @@
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_ = undefined;
_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 _loc3_ = undefined;
_loc3_ = 0;
while(_loc3_ < Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray.length)
{
if(theComponent == Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray[_loc3_])
{
break;
}
_loc3_ = _loc3_ + 1;
}
trace("executeBackFunction:m_thisClass.m_uiComponentArray" + Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray.length);
trace("DUMP:m_thisClass.m_uiComponentArray" + Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray);
trace("theComponent:" + theComponent);
var _loc2_ = 0;
while(_loc2_ < Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray.length)
{
trace("component" + Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray[_loc2_] + ":::" + Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray[_loc2_].isOuttroComplete());
_loc2_ = _loc2_ + 1;
}
Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray.splice(_loc3_,1);
if(Cafe2_BaseUIScreen.m_thisClass.m_uiComponentArray.length <= 0)
{
trace("hizo back por aca:: Con execute");
_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;
_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);
};
}
}
@@ -0,0 +1,249 @@
class Cafe2_Imp_BaseControl extends MovieClip
{
var m_isDynamic = false;
static var FOCUS_DIR_LR = "Left/Right";
static var FOCUS_DIR_UD = "Up/Down";
static var FOCUS_DIR_NONE = "None";
function Cafe2_Imp_BaseControl()
{
super();
this._visible = false;
this.m_bHighlighted = false;
this.m_isLoaded = false;
this.m_nAssets = 0;
this.m_nTotalAssets = 0;
this.m_handledInputs = new Object();
this.m_cbParam = new Object();
this.m_soundId = new Object();
_global.gCT.register(this);
this.m_objFM = eval(this.m_refFM);
}
function show()
{
this.m_bVisible = true;
this._visible = true;
}
function hide()
{
this.m_bVisible = false;
this._visible = false;
}
function isVisible()
{
return this.m_bVisible;
}
function enable()
{
this.m_bEnabled = true;
this.enableGUI();
}
function disable()
{
this.m_bEnabled = false;
this.disableGUI();
}
function isEnabled()
{
return this.m_bEnabled;
}
function setFocusManager(refFMObj)
{
if(refFMObj == undefined && (this.m_focusDirs == Cafe2_Imp_BaseControl.FOCUS_DIR_UD || this.m_focusDirs == Cafe2_Imp_BaseControl.FOCUS_DIR_LR))
{
trace("WARNING: Cafe2_Imp_BaseControl - Invalid focus manager this=" + this + ",m_refFM=" + refFMObj);
return undefined;
}
switch(this.m_focusDirs)
{
case Cafe2_Imp_BaseControl.FOCUS_DIR_UD:
this.setOnInput(_global.INPUTCODE.UP,this.bind0(refFMObj,refFMObj.selectPreviousItem));
this.setOnInput(_global.INPUTCODE.DOWN,this.bind0(refFMObj,refFMObj.selectNextItem));
break;
case Cafe2_Imp_BaseControl.FOCUS_DIR_LR:
this.setOnInput(_global.INPUTCODE.LEFT,this.bind0(refFMObj,refFMObj.selectPreviousItem));
this.setOnInput(_global.INPUTCODE.RIGHT,this.bind0(refFMObj,refFMObj.selectNextItem));
break;
case Cafe2_Imp_BaseControl.FOCUS_DIR_NONE:
break;
default:
if(this.m_focusDirs != undefined)
{
trace("WARNING: Cafe2_Imp_BaseControl - Invalid focus direction property this=" + this + ",m_focusDirs=" + this.m_focusDirs);
}
this.m_focusDirs = Cafe2_Imp_BaseControl.FOCUS_DIR_NONE;
}
}
function autoAddToFocusManger()
{
if(this.m_bVisible == true)
{
this._visible = true;
}
if(this.m_tabIndex >= 0)
{
this.m_objFM.addItemAtIndex(this,this.m_tabIndex);
if(this.m_initiallySelected == true)
{
this.m_objFM.selectItemByIdx(this.m_tabIndex);
}
}
}
function isLoaded()
{
return this.m_isLoaded;
}
function setSelected(bSelected)
{
if(bSelected == true && (this.m_bEnabled == false || this.m_bVisible == false))
{
trace("WARNING: Cafe2_Imp_BaseControl::setSelected() component disabled || hidden, this=" + this);
}
this.m_bHighlighted = bSelected;
if(this.m_bEnabled == true)
{
if(this.m_bHighlighted == true)
{
this.highlight();
this.m_onFocusFunc(this);
}
else
{
this.unhighlight();
this.m_onBlurFunc(this);
}
}
}
function isSelected()
{
if(this.m_bHighlighted == true)
{
return true;
}
return false;
}
function setOnChange(fxn)
{
this.m_onChangeFunc = fxn;
}
function setOnFocus(fxn)
{
this.m_onFocusFunc = fxn;
}
function setOnBlur(fxn)
{
this.m_onBlurFunc = fxn;
}
function setOnInput(keyCode, func, param, soundId)
{
this.m_handledInputs["KEY_" + keyCode] = func;
this.m_cbParam["KEY_" + keyCode] = param;
if(soundId != null)
{
this.m_soundId["KEY_" + keyCode] = soundId;
}
else
{
this.m_soundId["KEY_" + keyCode] = null;
}
}
function handleInput(keyCode)
{
if(this.m_bEnabled == false)
{
return false;
}
var _loc3_ = this.m_handledInputs[String("KEY_" + keyCode)];
if(String(_loc3_) == "[function]" || _loc3_ != null)
{
if(this.m_soundId["KEY_" + keyCode] != null)
{
_root.playSound(this.m_soundId["KEY_" + keyCode]);
}
if(this.m_cbParam["KEY_" + keyCode] == null)
{
_loc3_(this);
}
else
{
_loc3_(this.m_cbParam["KEY_" + keyCode]);
}
return true;
}
return false;
}
function clearInputHandlers()
{
this.m_handledInputs = new Object();
this.m_cbParam = new Object();
this.m_soundId = new Object();
}
function assetLoaded(strName)
{
trace("Cafe2ControlBase::assetLoaded");
this.m_nAssets = this.m_nAssets + 1;
if(this.m_nAssets >= this.m_nTotalAssets)
{
this.onAllAssetsLoaded();
}
}
function commonInit()
{
if(this.m_initiallySelected == false)
{
this.unhighlight();
}
if(this.m_bVisible == false)
{
this.hide();
}
if(this.m_bEnabled == false)
{
this.disable();
}
this.m_isLoaded = true;
this.autoAddToFocusManger();
this._parent.onControlLoaded(this);
this.logic_init();
}
static function defaultInitObject()
{
var _loc1_ = new Object();
_loc1_.m_bEnabled = true;
_loc1_.m_bVisible = true;
_loc1_.m_focusDirs = Cafe2_Imp_BaseControl.FOCUS_DIR_NONE;
_loc1_.m_isDynamic = true;
_loc1_.m_refFM = "_root.gFM";
_loc1_.m_tabIndex = -1;
_loc1_.m_initiallySelected = false;
return _loc1_;
}
function getWidth()
{
if(this.m_width != undefined)
{
return this.m_width;
}
return this._width;
}
function setFocusDirs(focusDirs)
{
switch(focusDirs)
{
case Cafe2_Imp_BaseControl.FOCUS_DIR_UD:
case Cafe2_Imp_BaseControl.FOCUS_DIR_LR:
case Cafe2_Imp_BaseControl.FOCUS_DIR_NONE:
this.m_focusDirs = focusDirs;
break;
default:
trace("WARNING: Cafe2_Imp_BaseControl::setFocusDirs() invalid focus direction property this=" + this + ",focusDirs=" + focusDirs);
this.m_focusDirs = Cafe2_Imp_BaseControl.FOCUS_DIR_NONE;
}
}
function bind0(o, f)
{
return function()
{
f.call(o);
};
}
}
@@ -0,0 +1,67 @@
class Cafe2_MouseBaseControl extends Cafe2_Imp_BaseControl
{
function Cafe2_MouseBaseControl()
{
super();
this.m_objFM.addItem(this);
this.m_tabIndex = -1;
this.m_introComplete = false;
this.m_outtroComplete = true;
}
function setIntroCallback(callBackFunc)
{
this.m_animationCompleteCallBackFunc = callBackFunc;
if(this.m_animationCompleteCallBackFunc != null && this.m_introComplete)
{
this.m_animationCompleteCallBackFunc(this);
}
}
function noIntro()
{
this.m_introComplete = true;
this.restoreVisualState();
}
function intro()
{
this.m_introComplete = false;
this.m_contentClip.gotoAndPlay("_intro");
}
function outtro(callBackFunc)
{
this.m_animationCompleteCallBackFunc = callBackFunc;
this.m_outtroComplete = false;
if(this.isEnabled())
{
this.m_contentClip.gotoAndPlay("_outtro");
}
else
{
trace("doing the enterframe thing");
this.onEnterFrame = this.outtroComplete;
}
}
function introComplete()
{
this.m_introComplete = true;
if(this.m_animationCompleteCallBackFunc != null)
{
this.m_animationCompleteCallBackFunc(this);
}
this.restoreVisualState();
}
function isIntroComplete()
{
return this.m_introComplete;
}
function outtroComplete()
{
this.m_outtroComplete = true;
this.m_animationCompleteCallBackFunc(this);
this.onEnterFrame = null;
trace("another outtro done");
}
function isOuttroComplete()
{
return this.m_outtroComplete;
}
}
@@ -0,0 +1,170 @@
class CafeFW_IndexMgr
{
var mIndex = 0;
var mMinIndex = 0;
var mMaxIndex = 10;
var mStepSize = 1;
var mWrapState = true;
var mSnapState = false;
static var TIBINDEX_CHANGE_NONE = 0;
static var TIBINDEX_CHANGED = 1;
function CafeFW_IndexMgr()
{
}
function Cafe2_IndexMgr(Void)
{
trace("~~TIBTIB~~ CafeFW_IndexMgr::constructor");
}
function SetInfo(curIndex, minIndex, maxIndex, curStep, wrapState, snapState)
{
var _loc2_ = CafeFW_IndexMgr.TIBINDEX_CHANGE_NONE;
if(maxIndex >= minIndex)
{
this.mMinIndex = minIndex;
this.mMaxIndex = maxIndex;
this.SetStep(curStep);
this.SetWrap(wrapState);
this.SetSnap(snapState);
_loc2_ = this.UpdateIndex(curIndex);
}
else
{
trace("ERROR! CafeFW_IndexMgr:SetInfo() MaxIndex is less than MinIndex");
}
return _loc2_;
}
function SetIndex(index)
{
return this.UpdateIndex(index);
}
function SetStep(stepSize)
{
var _loc2_ = CafeFW_IndexMgr.TIBINDEX_CHANGE_NONE;
if(stepSize > 0 && stepSize <= this.mMaxIndex - this.mMinIndex)
{
if(stepSize != this.mStepSize)
{
this.mStepSize = stepSize;
_loc2_ = CafeFW_IndexMgr.TIBINDEX_CHANGED;
}
}
else
{
trace("ERROR! CafeFW_IndexMgr:SetStep() - invalid stepSize");
}
return _loc2_;
}
function SetWrap(wrapState)
{
var _loc2_ = CafeFW_IndexMgr.TIBINDEX_CHANGE_NONE;
if(wrapState != this.mWrapState)
{
this.mWrapState = wrapState;
_loc2_ = CafeFW_IndexMgr.TIBINDEX_CHANGED;
}
return _loc2_;
}
function SetSnap(snapState)
{
var _loc2_ = CafeFW_IndexMgr.TIBINDEX_CHANGE_NONE;
if(snapState != this.mSnapState)
{
this.mSnapState = snapState;
_loc2_ = CafeFW_IndexMgr.TIBINDEX_CHANGED;
}
return _loc2_;
}
function IncIndex(Void)
{
var _loc4_ = CafeFW_IndexMgr.TIBINDEX_CHANGE_NONE;
var _loc2_ = this.mIndex + this.mStepSize;
var _loc3_ = _loc2_ - this.mMaxIndex;
if(_loc3_ > 0)
{
if(this.mWrapState && this.mMinIndex != this.mMaxIndex)
{
_loc2_ = this.mMinIndex + (_loc3_ - this.mStepSize);
}
else
{
_loc2_ = this.mMaxIndex;
}
}
return this.UpdateIndex(_loc2_);
}
function DecIndex(Void)
{
var _loc2_ = this.mIndex - this.mStepSize;
var _loc3_ = _loc2_ - this.mMinIndex;
if(_loc3_ < 0)
{
if(this.mWrapState && this.mMinIndex != this.mMaxIndex)
{
_loc2_ = this.mMaxIndex + (_loc3_ + this.mStepSize);
}
else
{
_loc2_ = this.mMinIndex;
}
}
return this.UpdateIndex(_loc2_);
}
function GetMinIndex(Void)
{
return this.mMinIndex;
}
function GetMaxIndex(Void)
{
return this.mMaxIndex;
}
function GetIndex(Void)
{
return this.mIndex;
}
function GetNumItems(Void)
{
return this.mMaxIndex - this.mMinIndex;
}
function GetStepSize(Void)
{
return this.mStepSize;
}
function Snap(index)
{
if(this.mSnapState && index != this.mMinIndex && index != this.mMaxIndex && this.mStepSize > 1)
{
if(index == this.mMaxIndex - this.mStepSize)
{
index = this.mMaxIndex - (index - this.mMinIndex) % this.mStepSize;
}
else
{
index -= (index - this.mMinIndex) % this.mStepSize;
}
}
return index;
}
function UpdateIndex(newIndex)
{
var _loc3_ = CafeFW_IndexMgr.TIBINDEX_CHANGE_NONE;
if(newIndex < this.mMinIndex)
{
newIndex = this.mMinIndex;
}
if(newIndex > this.mMaxIndex)
{
newIndex = this.mMaxIndex;
}
newIndex = this.Snap(newIndex);
if(newIndex != this.mIndex)
{
this.mIndex = newIndex;
_loc3_ = CafeFW_IndexMgr.TIBINDEX_CHANGED;
}
return _loc3_;
}
static function includeCode()
{
trace("CafeFW_IndexMgr::includeCode()");
}
}
@@ -0,0 +1,3 @@
interface ICafe2_FocusableControl
{
}
@@ -0,0 +1,3 @@
interface IListboxEntryEventListener
{
}
@@ -0,0 +1,3 @@
interface IListboxEventListener
{
}
@@ -0,0 +1,3 @@
interface IScrollbarEventListener
{
}
@@ -0,0 +1,248 @@
class feg_m_recruitChooser extends Cafe2_BaseUIScreen
{
static var HELP_BOX_WIDTH = 462;
static var HELP_BOX_HEIGHT = 203;
function feg_m_recruitChooser(screen)
{
super(screen);
Cafe2_BaseUIScreen.m_screen.screenMC._visible = false;
Cafe2_BaseUIScreen.m_thisClass = this;
this.m_playerSelectedHandler = _global.bind1DynamicParams(this,this.onPlayerSelected);
this.m_friendSelectedHandler = _global.bind1DynamicParams(this,this.onFriendSelected);
this.m_localMessageHandlerFunc = _global.bind1DynamicParams(this,this.localMessageHandler);
this.m_selectedPlayerId = "0";
}
function frameDelayedInit()
{
_global.gMH.addMessageHandler(this.m_localMessageHandlerFunc);
_global.GAME.MODE = _global.ENUM.GAME_MODE_MULTIPLAYER;
this.initGUI();
}
function initGUI()
{
var _loc3_ = new Array();
Cafe2_BaseUIScreen.m_screen.screenMC.friendsListMC.friendsMC.buddylist.addlistener(this.m_friendSelectedHandler);
Cafe2_BaseUIScreen.m_screen.screenMC.lobbiesMC.recruitmentPlayerListMC.addlistener(this.m_playerSelectedHandler);
this.configureButton(Cafe2_BaseUIScreen.m_screen.backButton,_global.bind0(this,this.onCancelCoopRecruitment),_loc3_);
this.configureButton(Cafe2_BaseUIScreen.m_screen.screenMC.inviteButton,_global.bind0(this,this.onInviteButtonClicked),_loc3_);
_loc3_.push(Cafe2_BaseUIScreen.m_screen.screenMC.chatPanelMC.chatComponentMC.sendButton);
_loc3_.push(Cafe2_BaseUIScreen.m_screen.screenMC.lobbiesMC.recruitmentLobbyMC.GetListToggler());
Cafe2_BaseUIScreen.m_screen.screenMC.friendsTabButton.show();
Cafe2_BaseUIScreen.m_screen.screenMC.friendsTabButton.enable();
Cafe2_BaseUIScreen.m_screen.screenMC.friendsTabButton.setOnMouseDownFunction(_global.bind0(this,this.onFriendsTab));
_loc3_.push(Cafe2_BaseUIScreen.m_screen.screenMC.friendsTabButton);
Cafe2_BaseUIScreen.m_screen.screenMC.lobbyTabButton.show();
Cafe2_BaseUIScreen.m_screen.screenMC.lobbyTabButton.enable();
Cafe2_BaseUIScreen.m_screen.screenMC.lobbyTabButton.setOnMouseDownFunction(_global.bind0(this,this.onLobbyTab));
_loc3_.push(Cafe2_BaseUIScreen.m_screen.screenMC.lobbyTabButton);
this.setHostProfileName();
this.setInviteeProfileName();
this.initHelpPanel(["$RECRUITCENTERHELPTEXTLOBBIES"],Cafe2_BaseUIScreen.m_screen.screenMC.chatPanelMC.lobbyHelpBox.helpTextListBox,Cafe2_BaseUIScreen.m_screen.screenMC.chatPanelMC.lobbyHelpBox.helpTextScrollBar);
this.initHelpPanel(["$RECRUITCENTERHELPTEXTFRIENDS"],Cafe2_BaseUIScreen.m_screen.screenMC.chatPanelMC.friendsHelpBox.helpTextListBox,Cafe2_BaseUIScreen.m_screen.screenMC.chatPanelMC.friendsHelpBox.helpTextScrollBar);
_global.gSM.setOnExitScreen(_global.bind0(this,this.onScreenExit));
Cafe2_BaseUIScreen.m_screen.screenMC.tabButtonController.SetSelectedRadioButton(Cafe2_BaseUIScreen.m_screen.screenMC.lobbyTabButton);
this.onLobbyTab();
this.registerIntroOuttroComponents(_loc3_);
this.startIntro();
Cafe2_BaseUIScreen.m_screen.screenMC._visible = true;
}
function configureButton(button, callback, ioButtons)
{
button.show();
button.enable();
button.setOnMouseUpFunction(callback);
ioButtons.push(button);
}
function localMessageHandler(messageCode)
{
var _loc3_ = true;
switch(messageCode)
{
case _global.MSGCODE.FE_MP_ONLINE_REFRESH_GAMEPLAYERS:
this.startOuttro(_global.SCREEN.FEM_COOPSTAGING);
break;
case _global.MSGCODE.FE_MP_ONLINE_INVITE_RECEIVED:
_global.comLink.screen.open();
_loc3_ = false;
break;
default:
_loc3_ = false;
}
return _loc3_;
}
function onCancelCoopRecruitment()
{
// Checked
getUrl("FSCommand:CallGameFunction", "%SetGameSetupMode?Mode=None");
_global.GAME.COOPMODE = _global.ENUM.GAME_COOPMODE_CHOOSER;
this.backButtonClicked();
}
function onScreenExit()
{
_global.gMH.removeMessageHandler(this.m_localMessageHandlerFunc);
delete this.m_localMessageHandlerFunc;
Cafe2_BaseUIScreen.m_screen.screenMC.friendsListMC.friendsMC.buddylist.removeListener(this.m_friendSelectedHandler);
delete this.m_friendSelectedHandler;
Cafe2_BaseUIScreen.m_screen.screenMC.lobbiesMC.recruitmentPlayerListMC.removeListener(this.m_playerSelectedHandler);
delete this.m_playerSelectedHandler;
this.clearData();
delete _global.feg_m_recruitChooser;
delete _global.Cafe2_BaseUIScreen;
}
function onInviteButtonClicked()
{
if(Number(this.m_selectedPlayerId) != 0)
{
// Checked
getURL("FSCommand:CallGameFunction","%OnlineInvitePlayer?Player=" + this.m_selectedPlayerId);
}
}
function setHostProfileName()
{
var ret = new Object();
// Checked
loadVariables("QueryGameEngine?FE_CURRENT_PROFILE",ret);
if(ret.FE_CURRENT_PROFILE == undefined)
{
// 咦原来这里还会自动填充昵称的么
ret.FE_CURRENT_PROFILE = "THE HOST";
}
Cafe2_BaseUIScreen.m_screen.screenMC.commanderPanelMC.commanderNameTF.text = ret.FE_CURRENT_PROFILE;
}
function setInviteeProfileName()
{
var flag = true;
var ret = new Object();
// Checked
loadVariables("QueryGameEngine?FE_CO_COMMANDER_PROFILE",ret);
if(ret.FE_CO_COMMANDER_PROFILE == undefined)
{
// 这里也自动填充了,不过这里是声明了确切的没有玩家的标识了
ret.FE_CO_COMMANDER_PROFILE = "$OPEN";
flag = false;
}
Cafe2_BaseUIScreen.m_screen.screenMC.commanderPanelMC.co_commanderNameTF.text = ret.FE_CO_COMMANDER_PROFILE;
return flag;
}
function onFriendsTab()
{
this.showFriendsList();
this.hideLobbyList();
this.hideLobbyHelpText();
this.showFriendsHelpText();
this.clearInviteSelection();
}
function onLobbyTab()
{
this.hideFriendsList();
this.showLobbyList();
this.showLobbyHelpText();
this.hideFriendsHelpText();
this.clearInviteSelection();
}
function clearInviteSelection()
{
Cafe2_BaseUIScreen.m_screen.screenMC.friendsListMC.friendsMC.buddylist.listbox.setSelectedIndex(std_mouseScrollingListbox.NO_SELECTION);
Cafe2_BaseUIScreen.m_screen.screenMC.lobbiesMC.recruitmentPlayerListMC.playerListTextBox.setSelectedIndex(std_mouseScrollingListbox.NO_SELECTION);
this.m_selectedPlayerId = "0";
this.updateInviteButton();
}
function hideFriendsList()
{
Cafe2_BaseUIScreen.m_screen.screenMC.friendsListMC._visible = false;
}
function showFriendsList()
{
Cafe2_BaseUIScreen.m_screen.screenMC.friendsListMC._visible = true;
}
function hideLobbyList()
{
Cafe2_BaseUIScreen.m_screen.screenMC.lobbiesMC._visible = false;
}
function showLobbyList()
{
Cafe2_BaseUIScreen.m_screen.screenMC.lobbiesMC._visible = true;
}
function updateInviteButton()
{
Cafe2_BaseUIScreen.m_screen.screenMC.inviteButton.disable();
if(Number(this.m_selectedPlayerId) != 0)
{
var ret = new Object();
// Checked
loadVariables("QueryGameEngine?MP_BUDDYSTATUS?Player=" + this.m_selectedPlayerId + "&IS_PLAYER_BUDDY?Player=" + this.m_selectedPlayerId,ret);
if(Number(ret.IS_PLAYER_BUDDY) == 0 || Number(ret.MP_BUDDYSTATUS_IS_ONLINE) != 0)
{
Cafe2_BaseUIScreen.m_screen.screenMC.inviteButton.enable();
}
}
}
function onFriendSelected(index)
{
var _loc3_ = new Object();
// Checked
loadVariables("QueryGameEngine?LASTMOUSEPRESSTYPE",_loc3_);
this.m_selectedPlayerId = Cafe2_BaseUIScreen.m_screen.screenMC.friendsListMC.friendsMC.buddylist.getBuddyIdAt(index);
this.updateInviteButton();
if(Number(_loc3_.LASTMOUSEPRESSTYPE) == _global.ENUM.MOUSEBUTTONPRESS_RIGHT)
{
_global.contextMenu.screen.doDefaultFriendContextMenu(this.m_selectedPlayerId,_global.bind1DynamicParams(this,this.onContextMenuEntrySelected));
}
}
function onPlayerSelected(index)
{
var _loc3_ = new Object();
// Checked
loadVariables("QueryGameEngine?LASTMOUSEPRESSTYPE",_loc3_);
this.m_selectedPlayerId = Cafe2_BaseUIScreen.m_screen.screenMC.lobbiesMC.recruitmentPlayerListMC.getPlayerID();
this.updateInviteButton();
if(Number(_loc3_.LASTMOUSEPRESSTYPE) == _global.ENUM.MOUSEBUTTONPRESS_RIGHT)
{
_global.contextMenu.screen.doDefaultPlayerContextMenu(this.m_selectedPlayerId,_global.bind1DynamicParams(this,this.onContextMenuEntrySelected));
}
}
function onContextMenuEntrySelected(id)
{
if((var _loc0_ = id) === _global.ENUM.CONTEXTMENU_WHISPER)
{
var _loc3_ = new Object();
// Checked
loadVariables("QueryGameEngine?WHISPER_PREFIX?Player=" + this.m_selectedPlayerId,_loc3_);
Cafe2_BaseUIScreen.m_screen.screenMC.chatPanelMC.chatComponentMC.chatInputBox.setContents(String(_loc3_.WHISPER_PREFIX));
Cafe2_BaseUIScreen.m_screen.screenMC.chatPanelMC.chatComponentMC.chatInputBox.takeFocus();
}
}
function hideLobbyHelpText()
{
Cafe2_BaseUIScreen.m_screen.screenMC.chatPanelMC.lobbyHelpBox._visible = false;
}
function showLobbyHelpText()
{
Cafe2_BaseUIScreen.m_screen.screenMC.chatPanelMC.lobbyHelpBox._visible = true;
}
function hideFriendsHelpText()
{
Cafe2_BaseUIScreen.m_screen.screenMC.chatPanelMC.friendsHelpBox._visible = false;
}
function showFriendsHelpText()
{
Cafe2_BaseUIScreen.m_screen.screenMC.chatPanelMC.friendsHelpBox._visible = true;
}
function initHelpPanel(listData, listMC, listScrollBar)
{
listScrollBar.show();
listScrollBar.enable();
listMC.setRenderSize(feg_m_recruitChooser.HELP_BOX_HEIGHT,feg_m_recruitChooser.HELP_BOX_WIDTH);
listMC.setVerticalPadding(0);
listMC.disableEntryHitRegion();
var arr = new Array();
arr.push({symbol:"std_mouseListboxEntryTextElementSymbol",width:feg_m_recruitChooser.HELP_BOX_WIDTH,leftMargin:0,rightMargin:0,useHighlights:false,isSelectable:false,useHitRegion:false,autoSize:true});
listMC.init(arr,29);
listMC.attachScrollbarController(listScrollBar);
listMC.setColumnData(0,listData);
listMC.setSelectedIndex(0);
listMC.refreshDisplay();
listMC.refreshScrollbar();
listMC.moveViewToFirst();
}
}
@@ -0,0 +1,153 @@
class std_mouseScrollbar_logic extends MovieClip
{
var m_DragThumbToolb = false;
static var CONTROL_THUMB = 0;
static var CONTROL_INCREMENT_ARROW = 1;
static var CONTROL_DECREMENT_ARROW = 2;
function std_mouseScrollbar_logic()
{
super();
if(this.m_nMin == undefined || this.m_nMax == undefined || this.m_nValue == undefined)
{
trace("WARNING: invalid component properties - " + this);
}
this.m_index = new CafeFW_IndexMgr();
this.m_index.SetInfo(this.m_nValue,this.m_nMin,this.m_nMax,1,false,false);
this.m_scrollbarEventListeners = new Array();
}
static function defaultInitObject()
{
var _loc1_ = new Object();
_loc1_.m_nMin = 0;
_loc1_.m_nMax = 10;
_loc1_.m_nValue = 0;
return _loc1_;
}
function getValue()
{
return this.m_index.GetIndex();
}
function setValue(p_nValue)
{
if(this.m_index.SetIndex(p_nValue) != CafeFW_IndexMgr.TIBINDEX_CHANGE_NONE)
{
this.update();
}
}
function nextValue()
{
if(this.m_index.IncIndex() != CafeFW_IndexMgr.TIBINDEX_CHANGE_NONE)
{
this.update();
this.onNext();
}
}
function prevValue()
{
if(this.m_index.DecIndex() != CafeFW_IndexMgr.TIBINDEX_CHANGE_NONE)
{
this.update();
this.onPrev();
}
}
function getMin()
{
return this.m_index.GetMinIndex();
}
function getMax()
{
return this.m_index.GetMaxIndex();
}
function setRange(range)
{
trace("WARNING: Cafe2_Imp_StdScrollbar::setRange() deprecated use setScrollbarInfo");
this.setInfo(0,range,this.getValue());
this.update();
}
function getRange()
{
return this.m_index.GetNumItems();
}
function setInfo(indexMin, indexMax, indexCurrent)
{
this.m_index.SetInfo(indexCurrent,indexMin,indexMax,1,false,false);
this.update();
}
function enable()
{
this.visual_enableGUI();
}
function disable()
{
this.visual_disableGUI();
}
function highlight(id)
{
this.visual_highlight(id);
}
function unhighlight(id)
{
this.visual_unhighlight_clip(id);
}
function addListener(listener)
{
this.m_scrollbarEventListeners.push(listener);
}
function removeListener(listener)
{
while(this.removeAllInstancesOfListener(listener))
{
}
}
function removeAllInstancesOfListener(listener)
{
var _loc2_ = 0;
while(_loc2_ < this.m_scrollbarEventListeners.length)
{
if(this.m_scrollbarEventListeners[_loc2_] == listener)
{
this.m_scrollbarEventListeners[_loc2_] = null;
this.m_scrollbarEventListeners.splice(_loc2_,1);
return true;
}
_loc2_ = _loc2_ + 1;
}
return false;
}
function broadcastOnScrollbarDelta(dir)
{
var _loc2_ = 0;
while(_loc2_ < this.m_scrollbarEventListeners.length)
{
this.m_scrollbarEventListeners[_loc2_].OnScrollbarDelta(dir);
_loc2_ = _loc2_ + 1;
}
}
function broadcastOnScrollbarThumbUpdate(newValue)
{
var _loc2_ = 0;
while(_loc2_ < this.m_scrollbarEventListeners.length)
{
this.m_scrollbarEventListeners[_loc2_].OnScrollbarThumbUpdate(newValue);
_loc2_ = _loc2_ + 1;
}
}
function broadcastOnScrollbarMouseEnter()
{
var _loc2_ = 0;
while(_loc2_ < this.m_scrollbarEventListeners.length)
{
this.m_scrollbarEventListeners[_loc2_].OnScrollbarMouseEnter();
_loc2_ = _loc2_ + 1;
}
}
function broadcastOnScrollbarMouseExit()
{
var _loc2_ = 0;
while(_loc2_ < this.m_scrollbarEventListeners.length)
{
this.m_scrollbarEventListeners[_loc2_].OnScrollbarMouseExit();
_loc2_ = _loc2_ + 1;
}
}
}
@@ -0,0 +1,278 @@
class std_mouseScrollbar_visual extends std_mouseScrollbar_logic
{
var m_scrollDirection = 0;
var m_scrollArrowHeight = 0;
function std_mouseScrollbar_visual()
{
super();
}
static function defaultInitObject()
{
var _loc1_ = std_mouseScrollbar_logic.defaultInitObject();
_loc1_.m_nLength = 100;
return _loc1_;
}
static function createDynamic(container_, name_, level_, initObject_)
{
return std_mouseScrollbar_visual(container_.attachMovie("std_scrollbar",name_,level_,initObject_));
}
function onLoad()
{
this.setSize(this.m_nLength);
this._parent.onControlLoaded(this);
this.m_scrollArrowHeight = this.arrowTopMC._height;
this.arrowBottomMC.hitRegion.mComponentPtr = this;
this.arrowBottomMC.hitRegion.onRollOver = this.mouseEventDecScrollBarRollOver;
this.arrowBottomMC.hitRegion.onRollOut = this.mouseEventDecScrollBarRollOut;
this.arrowBottomMC.hitRegion.onPress = this.downArrowClicked;
this.arrowBottomMC.hitRegion.onRelease = this.stopTrackArrow;
this.arrowBottomMC.hitRegion.onReleaseOutside = this.mouseEventDecScrollBarRollOut;
this.arrowTopMC.hitRegion.mComponentPtr = this;
this.arrowTopMC.hitRegion.onRollOver = this.mouseEventIncScrollBarRollOver;
this.arrowTopMC.hitRegion.onRollOut = this.mouseEventIncScrollBarRollOut;
this.arrowTopMC.hitRegion.onPress = this.upArrowClicked;
this.arrowTopMC.hitRegion.onRelease = this.stopTrackArrow;
this.arrowTopMC.hitRegion.onReleaseOutside = this.mouseEventIncScrollBarRollOut;
this.thumbMC.hitRegion.mComponentPtr = this;
this.thumbMC.hitRegion.onRollOver = this.mouseEventThumbRollOver;
this.thumbMC.hitRegion.onRollOut = this.mouseEventThumbRollOut;
this.thumbMC.hitRegion.onDragOver = this.mouseEventThumbDragOver;
this.thumbMC.hitRegion.onDragOut = this.mouseEventThumbDragOut;
this.thumbMC.hitRegion.onPress = this.mouseEventThumbMouseDown;
this.thumbMC.hitRegion.onRelease = this.mouseEventThumbMouseUp;
this.thumbMC.hitRegion.onReleaseOutside = this.mouseEventThumbMouseUpReset;
this.trackMiddle.hitRegion.mComponentPtr = this;
this.trackMiddle.hitRegion.onPress = this.mouseEventTrackMouseDown;
this.trackMiddle.hitRegion.onRelease = this.mouseEventTrackMouseUp;
this.trackMiddle.hitRegion.onReleaseOutside = this.mouseEventTrackMouseUp;
}
function setSize(p_nSize)
{
this.THUMB_MARGIN = this.arrowTopMC._height;
this.m_nLength = p_nSize;
this.m_thumbZoneLength = this.m_nLength - this.arrowTopMC._height - this.arrowBottomMC._height - 2 * this.THUMB_MARGIN;
this.arrowBottomMC._y = this.m_nLength - this.arrowBottomMC._height;
this.TrackBottom._y = this.arrowBottomMC._y - this.TrackBottom._height;
this.TrackMiddle._y = this.TrackTop._y + this.TrackTop._height;
this.TrackMiddle._height = this.TrackBottom._y - this.TrackTop._y - this.TrackTop._height;
this.m_minThumbCoordinate = this.arrowTopMC._y + this.arrowTopMC._height + this.THUMB_MARGIN;
this.m_maxThumbCoordinate = this.m_minThumbCoordinate + this.m_thumbZoneLength;
this.updateVisuals();
}
function getWidth()
{
return this.TrackMiddle._width;
}
function updateVisuals()
{
var _loc2_ = this.m_index.GetMaxIndex() - this.m_index.GetMinIndex();
var _loc3_ = _loc2_ != 0 ? this.m_thumbZoneLength / _loc2_ : this.m_thumbZoneLength;
this.thumbMC._y = this.m_scrollArrowHeight + this.THUMB_MARGIN + Math.floor(this.m_index.GetIndex() * _loc3_);
}
function update()
{
this.updateVisuals();
}
function updateIndexNormalized(normalizedPct)
{
var _loc2_ = this.m_index.GetMinIndex() + Math.round(this.m_index.GetNumItems() * normalizedPct);
this.m_index.SetIndex(_loc2_);
}
function onNext()
{
this.arrowBottomMC.gotoAndPlay("_toggle");
}
function onPrev()
{
this.arrowTopMC.gotoAndPlay("_toggle");
}
function visual_highlight(id)
{
switch(id)
{
case std_mouseScrollbar_logic.CONTROL_THUMB:
this.thumbMC.gotoAndPlay("_highlight");
break;
case std_mouseScrollbar_logic.CONTROL_INCREMENT_ARROW:
this.arrowTopMC.gotoAndPlay("_highlight");
break;
case std_mouseScrollbar_logic.CONTROL_DECREMENT_ARROW:
this.arrowBottomMC.gotoAndPlay("_highlight");
}
this.lineTopMC.gotoAndPlay("_highlight");
this.lineBottomMC.gotoAndPlay("_highlight");
}
function visual_unhighlight_clip(id)
{
switch(id)
{
case std_mouseScrollbar_logic.CONTROL_THUMB:
this.thumbMC.gotoAndPlay("_unhighlight");
break;
case std_mouseScrollbar_logic.CONTROL_INCREMENT_ARROW:
this.arrowTopMC.gotoAndPlay("_unhighlight");
break;
case std_mouseScrollbar_logic.CONTROL_DECREMENT_ARROW:
this.arrowBottomMC.gotoAndPlay("_unhighlight");
}
}
function visual_unhighlight()
{
this.arrowTopMC.gotoAndPlay("_unhighlight");
this.arrowBottomMC.gotoAndPlay("_unhighlight");
this.thumbMC.gotoAndPlay("_unhighlight");
this.lineTopMC.gotoAndPlay("_unhighlight");
this.lineBottomMC.gotoAndPlay("_unhighlight");
}
function visual_enableGUI()
{
this.visual_unhighlight();
}
function visual_disableGUI()
{
this.arrowTopMC.gotoAndPlay("_disable");
this.arrowBottomMC.gotoAndPlay("_disable");
this.thumbMC.gotoAndPlay("_disable");
this.lineTopMC.gotoAndPlay("_disable");
this.lineBottomMC.gotoAndPlay("_disable");
}
function rollover(id)
{
this.highlight(id);
this.broadcastOnScrollbarMouseEnter();
}
function rollout(id)
{
this.unhighlight(id);
this.broadcastOnScrollbarMouseExit();
}
function dragOver()
{
}
function dragOut()
{
}
function prepareToDragThumbTool()
{
this.m_DragThumbToolb = true;
this.onEnterFrame = this.trackThumbTool;
}
function endToDragThumbTool()
{
this.m_DragThumbToolb = false;
this.onEnterFrame = null;
this.updateVisuals();
}
function trackThumbTool()
{
var _loc2_ = Math.min(Math.max(this._ymouse,this.m_minThumbCoordinate),this.m_maxThumbCoordinate);
if(_loc2_ != this.thumbMC._y)
{
var _loc3_ = (_loc2_ - this.m_minThumbCoordinate) / (this.m_maxThumbCoordinate - this.m_minThumbCoordinate);
var _loc4_ = 100 * _loc3_;
this.thumbMC._y = _loc2_;
this.updateIndexNormalized(_loc3_);
this.broadcastOnScrollbarThumbUpdate(_loc4_);
}
}
function updateData(dataChangeDirection)
{
this.broadcastOnScrollbarDelta(dataChangeDirection);
if(dataChangeDirection == 0)
{
this.prevValue();
}
else
{
this.nextValue();
}
}
function show()
{
this._visible = true;
}
function hide()
{
this._visible = false;
}
function mouseEventDecScrollBarRollOver()
{
this.mComponentPtr.rollover(std_mouseScrollbar_logic.CONTROL_DECREMENT_ARROW);
}
function mouseEventDecScrollBarRollOut()
{
this.mComponentPtr.rollout(std_mouseScrollbar_logic.CONTROL_DECREMENT_ARROW);
}
function mouseEventIncScrollBarRollOver()
{
this.mComponentPtr.rollover(std_mouseScrollbar_logic.CONTROL_INCREMENT_ARROW);
}
function mouseEventIncScrollBarRollOut()
{
this.stopTrackArrow();
this.mComponentPtr.rollout(std_mouseScrollbar_logic.CONTROL_INCREMENT_ARROW);
}
function mouseEventThumbRollOver()
{
this.mComponentPtr.rollover(std_mouseScrollbar_logic.CONTROL_THUMB);
}
function mouseEventThumbRollOut()
{
this.mComponentPtr.rollout(std_mouseScrollbar_logic.CONTROL_THUMB);
}
function mouseEventThumbDragOver()
{
this.mComponentPtr.dragOver();
}
function mouseEventThumbDragOut()
{
this.mComponentPtr.dragOut();
}
function mouseEventThumbMouseDown()
{
this.mComponentPtr.prepareToDragThumbTool();
}
function mouseEventThumbMouseUp()
{
this.mComponentPtr.endToDragThumbTool();
}
function mouseEventThumbMouseUpReset()
{
this.mComponentPtr.endToDragThumbTool();
this.mComponentPtr.rollout(std_mouseScrollbar_logic.CONTROL_THUMB);
}
function mouseEventTrackMouseDown()
{
this.mComponentPtr.prepareToDragThumbTool();
}
function mouseEventTrackMouseUp()
{
this.mComponentPtr.endToDragThumbTool();
}
function upArrowClicked()
{
this.mComponentPtr.prepareArrowClicked(0);
}
function downArrowClicked()
{
this.mComponentPtr.prepareArrowClicked(1);
}
function prepareArrowClicked(direction)
{
this.m_scrollDirection = direction;
this.onEnterFrame = this.trackArrowTool;
}
function endToArrowClicked()
{
this.onEnterFrame = null;
this.updateVisuals();
}
function trackArrowTool()
{
this.updateData(this.m_scrollDirection);
}
function stopTrackArrow()
{
this.mComponentPtr.endToArrowClicked();
}
}
@@ -0,0 +1,639 @@
class std_mouseScrollingListbox extends Cafe2_MouseBaseControl implements IListboxEntryEventListener, IScrollbarEventListener, ICafe2_FocusableControl
{
static var ATTACHMOVIE_BASE_LEVEL = 500;
static var NO_SELECTION = -1;
function std_mouseScrollingListbox()
{
super();
this.m_numTotalEntries = 0;
this.m_contentWidth = 0;
this.m_contentHeight = 0;
this.m_entryHeight = 0;
this.m_dataColumnCount = 0;
this.m_selectedIndex = std_mouseScrollingListbox.NO_SELECTION;
this.m_scrollbarController = null;
this.m_mousePresence = 0;
this.m_eventListeners = new Array();
this.m_eventListenerFns = new Array();
this.m_scrollHeight = 0;
this.m_useEntryHitRegion = true;
}
static function defaultInitObject()
{
var _loc1_ = new Cafe2_Imp_BaseControl.defaultInitObject();
_loc1_.m_vPadding = 0;
_loc1_.m_numVisibleEntries = 10;
_loc1_.m_scrollbarOffset = Array([10,0]);
_loc1_.m_backgroundMargin = 3;
_loc1_.m_renderWidth = 0;
_loc1_.m_renderHeight = 0;
_loc1_.m_useHighlights = true;
_loc1_.m_alternateBackgroundColors = false;
_loc1_.m_backgroundColor1 = 0;
_loc1_.m_backgroundColor2 = 0;
return _loc1_;
}
static function createDynamic(container_, name_, level_, initObject_)
{
var _loc1_ = container_.attachMovie("std_mouseScrollingListboxSymbol",name_,level_,initObject_);
return std_mouseScrollingListbox(_loc1_);
}
function enableGUI()
{
}
function disableGUI()
{
}
function highlight()
{
if(this.isEnabled() && this._visible && this.m_useHighlights)
{
this.background.gotoAndPlay("_highlight");
}
}
function unhighlight()
{
if(this.isEnabled() && this._visible && this.m_useHighlights)
{
this.background.gotoAndPlay("_unhighlight");
}
}
function OnScrollbarDelta(dir)
{
switch(dir)
{
case 0:
this.scrollViewUp();
break;
case 1:
this.scrollViewDown();
}
}
function OnScrollbarThumbUpdate(percentage)
{
if(this.m_contentHeight > this.m_renderHeight)
{
this.m_scrollHeight = percentage / 100 * (this.m_contentHeight - this.m_renderHeight);
this.m_clipAnchor._x = 0;
this.m_clipAnchor._y = - this.m_scrollHeight;
}
}
function OnScrollbarMouseEnter()
{
}
function OnScrollbarMouseExit()
{
}
function OnListboxEntryMouseEnter(entry)
{
if(this.isEnabled())
{
if(entry >= 0 && entry < this.m_numTotalEntries)
{
this.m_entryClips[entry].realizeHighlightState();
}
}
if(this._ymouse < 0 || this._ymouse > this.m_renderHeight || this._xmouse < 0 || this._xmouse > this.m_renderWidth || entry >= this.getGreatestColumnDataCount())
{
return undefined;
}
this.OnChildMouseEnterEvent(entry);
}
function OnListboxEntryMouseExit(entry)
{
if(this.isEnabled())
{
if(entry >= 0 && entry < this.m_numTotalEntries)
{
this.m_entryClips[entry].realizeHighlightState();
}
}
this.OnChildMouseExitEvent(entry);
}
function OnListboxEntryMouseClick(entry)
{
this.m_objFM.setFocusToControl(this);
if(this.isEnabled())
{
var _loc3_ = this.getGreatestColumnDataCount();
if(this._ymouse < 0 || this._ymouse > this.m_renderHeight || this._xmouse < 0 || this._xmouse > this.m_renderWidth || entry >= _loc3_)
{
return undefined;
}
var _loc5_ = this.getSelectedEntryIndex();
this.setSelectedIndex(entry);
this.broadcastOnListboxIndexMouseClick(entry,_loc5_);
_global.playSound("GuiShellListboxClick");
}
else
{
this.m_objFM.deselectFocusedComponent();
}
}
function OnListboxEntryElementMouseClick(entry, element)
{
if(this.isEnabled())
{
var _loc3_ = this.getGreatestColumnDataCount();
if(this._ymouse < 0 || this._ymouse > this.m_renderHeight || this._xmouse < 0 || this._xmouse > this.m_renderWidth || entry >= _loc3_)
{
return undefined;
}
var _loc5_ = this.getSelectedEntryIndex();
this.setSelectedIndex(entry);
this.broadcastOnListboxIndexElementMouseClick(entry,element,_loc5_);
_global.playSound("GuiShellListboxClick");
}
else
{
this.m_objFM.deselectFocusedComponent();
}
}
function onMousewheelScroll(spins)
{
var _loc3_ = Math.abs(spins);
var _loc2_ = 0;
while(_loc2_ < _loc3_)
{
if(spins < 0)
{
this.scrollViewDown();
}
else
{
this.scrollViewUp();
}
_loc2_ = _loc2_ + 1;
}
}
function init(entryElementInfo, entryHeight)
{
if(this.m_numVisibleEntries == undefined || this.m_numVisibleEntries == 0)
{
this.m_numVisibleEntries = 8;
}
this.m_entryClips = new Array();
this.m_scrollHeight = 0;
this.m_contentHeight = this.m_numVisibleEntries * entryHeight;
this.m_contentWidth = 0;
this.m_entryElementInfo = entryElementInfo;
this.m_entryHeight = entryHeight;
var _loc2_ = 0;
while(_loc2_ < entryElementInfo.length)
{
this.m_contentWidth += entryElementInfo[_loc2_].width;
this.m_contentWidth += entryElementInfo[_loc2_].leftMargin;
this.m_contentWidth += entryElementInfo[_loc2_].rightMargin;
_loc2_ = _loc2_ + 1;
}
if(this.m_renderWidth == 0 || this.m_renderWidth == undefined || this.m_renderHeight == 0 || this.m_renderHeight == undefined)
{
trace("ERROR: Bad render sizes specified. Using defaults.");
this.m_renderWidth = this.m_contentWidth;
this.m_renderHeight = this.m_contentHeight;
trace("Render width: " + this.m_renderWidth + " Render height: " + this.m_renderHeight);
}
if(this.m_backgroundMargin == undefined)
{
this.m_backgroundMargin = 3;
}
this.m_dataColumnCount = this.m_entryElementInfo.length;
this.m_dataArrays = new Array(this.m_dataColumnCount);
_loc2_ = 0;
while(_loc2_ < this.m_dataColumnCount)
{
this.m_dataArrays[_loc2_] = new Array();
_loc2_ = _loc2_ + 1;
}
this.configureBackgroundButton();
this.background._visible = this.m_BgVisible;
this.m_listboxMask._width = this.getWidth();
this.m_listboxMask._height = this.getHeight();
this.m_listboxMask.onRollOver = this.m_listboxMask.onDragOver = this.bind0(this,this.OnMouseEnter);
this.m_listboxMask.onRollOut = this.m_listboxMask.onDragOut = this.bind0(this,this.OnMouseExit);
if(this.m_alternateBackgroundColors == true)
{
this.m_contentHeight = 0;
_loc2_ = 0;
while(_loc2_ < this.m_numVisibleEntries)
{
this.m_entryClips[_loc2_] = this.createEntryClip(_loc2_,0,this.m_contentHeight,this.m_entryElementInfo,this.m_entryHeight);
this.m_entryClips[_loc2_]._y = this.m_contentHeight;
this.m_contentHeight += this.m_entryHeight + this.m_vPadding;
_loc2_ = _loc2_ + 1;
}
}
this.realizeHighlightState();
this.commonInit();
}
function refreshDisplay()
{
var _loc6_ = this.getGreatestColumnDataCount();
var _loc7_ = this.m_entryClips.length != undefined ? this.m_entryClips.length : 0;
this.m_numTotalEntries = Math.max(_loc6_,this.m_numVisibleEntries);
var _loc8_ = 100 * this.m_scrollHeight / (this.m_contentHeight - this.m_renderHeight);
this.m_contentHeight = 0;
var _loc2_ = undefined;
_loc2_ = 0;
while(_loc2_ < this.m_numTotalEntries)
{
if(_loc2_ >= _loc7_)
{
this.m_entryClips[_loc2_] = this.createEntryClip(_loc2_,0,this.m_contentHeight,this.m_entryElementInfo,this.m_entryHeight);
}
this.m_entryClips[_loc2_].clear();
var _loc3_ = 0;
while(_loc2_ < _loc6_ && _loc3_ < this.m_dataColumnCount)
{
var _loc5_ = this.m_dataArrays[_loc3_];
var _loc4_ = new Object();
_loc4_.data = _loc5_[_loc2_];
this.m_entryClips[_loc2_].setElementData(_loc3_,_loc4_);
_loc3_ = _loc3_ + 1;
}
this.m_entryClips[_loc2_].setSelected(_loc2_ == this.getSelectedEntryIndex());
this.m_entryClips[_loc2_]._y = this.m_contentHeight;
this.m_contentHeight += this.m_entryClips[_loc2_].getHeight() + this.m_vPadding;
_loc2_ = _loc2_ + 1;
}
_loc2_ = _loc7_ - 1;
while(_loc2_ >= this.m_numTotalEntries)
{
this.m_entryClips[_loc2_].removeMovieClip();
this.m_entryClips.pop();
_loc2_ = _loc2_ - 1;
}
this.OnScrollbarThumbUpdate(_loc8_);
this.m_clipAnchor._x = 0;
this.m_clipAnchor._y = - this.m_scrollHeight;
}
function shutdown()
{
if(this.m_scrollbarController != null)
{
this.m_scrollbarController.removeListener(this);
}
var _loc2_ = 0;
while(_loc2_ < this.m_numTotalEntries)
{
this.m_entryClips[_loc2_].removeListener(this);
this.m_entryClips[_loc2_].shutdown();
_loc2_ = _loc2_ + 1;
}
}
function setColumnData(column, data)
{
if(column >= 0 && column < this.m_dataColumnCount)
{
var _loc4_ = this.m_dataArrays[column];
_loc4_.splice(0,_loc4_.length);
var _loc2_ = 0;
while(_loc2_ < data.length)
{
_loc4_[_loc2_] = data[_loc2_];
_loc2_ = _loc2_ + 1;
}
}
}
function clear()
{
var _loc2_ = 0;
while(_loc2_ < this.m_numTotalEntries)
{
this.m_entryClips[_loc2_].removeListener(this);
this.m_entryClips[_loc2_].clear();
this.m_entryClips[_loc2_].shutdown();
this.m_entryClips[_loc2_].removeMovieClip();
_loc2_ = _loc2_ + 1;
}
this.m_entryClips = new Array();
this.m_numTotalEntries = 0;
this.m_scrollHeight = this.m_contentHeight = 0;
this.refreshScrollbar();
var _loc3_ = 0;
while(_loc3_ < this.m_dataColumnCount)
{
this.m_dataArrays[_loc3_] = new Array();
_loc3_ = _loc3_ + 1;
}
}
function clearEntryHighlights()
{
var _loc2_ = 0;
while(_loc2_ < this.m_numTotalEntries)
{
this.m_entryClips[_loc2_].setHighlighted(false);
_loc2_ = _loc2_ + 1;
}
}
function attachScrollbarController(controller)
{
if(this.m_scrollbarController != null)
{
trace("std_mouseDynamicList::attachScrollbarController(), Warning: trying to attach a scrollbar controller when one is already attached.");
this.m_scrollbarController.removeListener(this);
}
this.m_scrollbarController = std_mouseScrollbar_visual(controller);
this.m_scrollbarController.addListener(this);
this.m_scrollbarController._x = this._x + this.m_renderWidth - this.m_scrollbarController.getWidth();
this.m_scrollbarController._y = this._y;
this.m_scrollbarController.setSize(this.m_renderHeight);
this.m_scrollbarController.enable();
}
function getElementData(column, row)
{
return this.m_dataArrays[column][row];
}
function refreshScrollbar()
{
if(this.m_scrollbarController != undefined)
{
if(this.m_contentHeight <= this.m_renderHeight)
{
this.m_scrollbarController._visible = false;
this.m_scrollbarController.setInfo(0,0,0);
this.m_scrollHeight = 0;
}
else
{
this.m_scrollbarController._visible = true;
this.m_scrollbarController.setInfo(0,this.m_contentHeight - this.m_renderHeight,this.m_scrollHeight);
}
}
}
function setSelectedIndex(index)
{
if(this.isValidIndex(index) || index == std_mouseScrollingListbox.NO_SELECTION)
{
this.m_selectedIndex = index;
this.refreshDisplay();
}
return this.m_selectedIndex;
}
function scrollViewUp()
{
if(this.m_selectedIndex != std_mouseScrollingListbox.NO_SELECTION)
{
this.m_scrollHeight -= this.m_entryClips[this.m_selectedIndex].getHeight() + this.m_vPadding;
}
else
{
this.m_scrollHeight -= 10;
}
if(this.m_scrollHeight < 0)
{
this.m_scrollHeight = 0;
}
this.m_clipAnchor._x = 0;
this.m_clipAnchor._y = - this.m_scrollHeight;
this.refreshScrollbar();
}
function scrollViewDown()
{
if(this.m_scrollHeight == undefined)
{
this.m_scrollHeight = 0;
}
if(this.m_selectedIndex != std_mouseScrollingListbox.NO_SELECTION)
{
this.m_scrollHeight += this.m_entryClips[this.m_selectedIndex].getHeight() + this.m_vPadding;
}
else
{
this.m_scrollHeight += 10;
}
if(this.m_scrollHeight > this.m_contentHeight - this.m_renderHeight)
{
this.m_scrollHeight = this.m_contentHeight - this.m_renderHeight;
}
this.m_clipAnchor._x = 0;
this.m_clipAnchor._y = - this.m_scrollHeight;
this.refreshScrollbar();
}
function moveViewToFirst()
{
this.m_scrollHeight = 0;
this.m_clipAnchor._x = 0;
this.m_clipAnchor._y = - this.m_scrollHeight;
this.refreshScrollbar();
}
function moveViewToLast()
{
if(this.m_contentHeight > this.m_renderHeight)
{
this.m_scrollHeight = this.m_contentHeight - this.m_renderHeight;
this.m_clipAnchor._x = 0;
this.m_clipAnchor._y = - this.m_scrollHeight;
this.refreshScrollbar();
}
}
function setNumEntries(numEntries)
{
this.m_numVisibleEntries = numEntries;
}
function getNumEntries(numEntries)
{
return this.m_numVisibleEntries;
}
function setVerticalPadding(vPadding)
{
this.m_vPadding = vPadding;
}
function getTotalWidth()
{
return this.background._width;
}
function getWidth()
{
return this.m_renderWidth;
}
function getHeight()
{
return this.m_renderHeight;
}
function setRenderSize(renderHeight, renderWidth)
{
this.m_renderHeight = renderHeight;
this.m_renderWidth = renderWidth;
}
function getSelectedEntryIndex()
{
return this.m_selectedIndex;
}
function disableEntryHitRegion()
{
this.m_useEntryHitRegion = false;
}
function addListener(listener)
{
this.m_eventListeners.push(listener);
}
function addListenerFunction(listener)
{
this.m_eventListenerFns.push(listener);
}
function removeListener(listener)
{
while(this.removeAllInstancesOfListener(listener))
{
}
}
function removeListenerFunction(listener)
{
while(this.removeAllInstancesOfListenerFunction(listener))
{
}
}
function createEntryClip(index, xPos, yPos, entryElementInfo, entryHeight)
{
var _loc2_ = this.m_clipAnchor.attachMovie("std_mouseScrollingListboxEntrySymbol","listboxEntity" + String(index),std_mouseScrollingListbox.ATTACHMOVIE_BASE_LEVEL + index);
if(this.m_alternateBackgroundColors)
{
var _loc3_ = undefined;
if(index % 2 == 0)
{
_loc3_ = this.m_backgroundColor1;
}
else
{
_loc3_ = this.m_backgroundColor2;
}
_loc2_.setBackgroundColor(_loc3_);
}
_loc2_.init(index,entryElementInfo,entryHeight,this.m_useEntryHitRegion,this.m_alternateBackgroundColors);
_loc2_._x = xPos;
_loc2_._y = yPos;
_loc2_.addListener(this);
return _loc2_;
}
function OnChildMouseEnterEvent(entry)
{
var _loc2_ = 0;
while(_loc2_ < this.m_eventListeners.length)
{
this.m_eventListeners[_loc2_].OnListboxEntryMouseEnter(entry);
_loc2_ = _loc2_ + 1;
}
}
function OnChildMouseExitEvent(entry)
{
var _loc2_ = 0;
while(_loc2_ < this.m_eventListeners.length)
{
this.m_eventListeners[_loc2_].OnListboxEntryMouseExit(entry);
_loc2_ = _loc2_ + 1;
}
}
function OnMouseEnter()
{
this.m_mousePresence = this.m_mousePresence + 1;
_global.highlightedComponent = this;
this.realizeHighlightState();
}
function OnMouseExit()
{
this.m_mousePresence = this.m_mousePresence - 1;
if(_global.highlightedComponent == this)
{
_global.highlightedComponent = undefined;
}
if(this.m_mousePresence == 0)
{
this.realizeHighlightState();
}
}
function configureBackgroundButton()
{
var _loc2_ = this.m_renderWidth + this.m_backgroundMargin * 2;
var _loc3_ = this.m_renderHeight + this.m_backgroundMargin * 2;
this.background._xscale = _loc2_;
this.background._yscale = _loc3_;
this.background._x = - this.m_backgroundMargin;
this.background._y = - this.m_backgroundMargin;
}
function realizeHighlightState()
{
if(this.m_mousePresence > 0)
{
this.highlight();
}
else
{
this.unhighlight();
this.m_mousePresence = 0;
}
}
function getMaximumIndex()
{
return this.getGreatestColumnDataCount() - 1;
}
function getGreatestColumnDataCount()
{
var _loc3_ = 0;
var _loc2_ = 0;
while(_loc2_ < this.m_dataColumnCount)
{
_loc3_ = Math.max(_loc3_,this.m_dataArrays[_loc2_].length);
_loc2_ = _loc2_ + 1;
}
return _loc3_;
}
function isValidIndex(index)
{
return index >= 0 && index <= this.getMaximumIndex();
}
function removeAllInstancesOfListener(listener)
{
var _loc2_ = 0;
while(_loc2_ < this.m_eventListeners.length)
{
if(this.m_eventListeners[_loc2_] == listener)
{
this.m_eventListeners[_loc2_] = null;
this.m_eventListeners.splice(_loc2_,1);
return true;
}
_loc2_ = _loc2_ + 1;
}
return false;
}
function removeAllInstancesOfListenerFunction(listener)
{
var _loc2_ = 0;
while(_loc2_ < this.m_eventListenerFns.length)
{
if(this.m_eventListenerFns[_loc2_] == listener)
{
this.m_eventListenerFns[_loc2_] = null;
this.m_eventListenerFns.splice(_loc2_,1);
return true;
}
_loc2_ = _loc2_ + 1;
}
return false;
}
function broadcastOnListboxIndexMouseClick(newIndex, previouslySelectedIndex)
{
var _loc2_ = 0;
while(_loc2_ < this.m_eventListeners.length)
{
this.m_eventListeners[_loc2_].OnListboxIndexMouseClick(newIndex,previouslySelectedIndex);
_loc2_ = _loc2_ + 1;
}
_loc2_ = 0;
while(_loc2_ < this.m_eventListenerFns.length)
{
this.m_eventListenerFns.register2(newIndex,previouslySelectedIndex);
_loc2_ = _loc2_ + 1;
}
}
function broadcastOnListboxIndexElementMouseClick(index, element, previouslySelectedIndex)
{
var _loc2_ = 0;
while(_loc2_ < this.m_eventListeners.length)
{
this.m_eventListeners[_loc2_].OnListboxIndexElementMouseClick(index,element,previouslySelectedIndex);
_loc2_ = _loc2_ + 1;
}
}
}
@@ -0,0 +1,2 @@
var screen = new feg_m_recruitChooser(this);
stop();
@@ -0,0 +1,18 @@
on(construct){
m_width = 200;
m_textAlign = false;
m_labelPosition = "right align";
m_label_x = 0;
m_label_y = 0;
m_focusDirs = "Up/Down";
m_iconType = "default";
m_extLabel = "";
m_nTruncateType = 0;
m_label = "$Back";
m_bEnabled = true;
m_refFM = "_global.gFM";
m_initiallySelected = false;
m_tabIndex = 5;
m_bVisible = true;
m_contentSymbol = "buttonContentSymbol";
}