Init
This commit is contained in:
@ -0,0 +1,202 @@
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.Button;
|
||||
import Screens.ClanGeneralScreen;
|
||||
|
||||
class Screens.ClanRootScreen extends ScreenWithPageNavigator
|
||||
{
|
||||
private var btnCreateClan:Button;
|
||||
private var btnPending:Button;
|
||||
private var btnMyClans:Button;
|
||||
private var btnSearch:Button;
|
||||
private var tiSearch:TextInput;
|
||||
|
||||
private var mClanNames:Array;
|
||||
|
||||
private static var mInstance:ClanRootScreen;
|
||||
|
||||
public function ClanRootScreen()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing ClanRootScreen");
|
||||
|
||||
mScreenId = ScreenID.CLAN_ROOT;
|
||||
mScreenTabId = ScreenTab.ID_CLANS;
|
||||
|
||||
mEntriesPerPage = 10;
|
||||
mFirstEntryX = 435;
|
||||
mFirstEntryY = -280;
|
||||
mDeltaY = 10;
|
||||
|
||||
mInstance = this;
|
||||
}
|
||||
|
||||
public static function get Instance():ClanRootScreen { return mInstance; }
|
||||
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
//Add click event for buttons
|
||||
//btnCreateClan.addEventListener("click", this, "SetStateToClanFunctionsGeneral");
|
||||
btnCreateClan.addEventListener("click", this, "CreateClan");
|
||||
btnPending.addEventListener("click", this, "SetStateToClanFunctionsInvolvingEmail");
|
||||
btnMyClans.addEventListener("click", this, "GoToMyClans");
|
||||
btnSearch.addEventListener("click", this, "Search");
|
||||
|
||||
//Add callbacks for C++
|
||||
ExternalInterface.addCallback("c2f_Clans_GetList", this, c2f_Clans_GetList);
|
||||
|
||||
super.VOnFinishedLoading();
|
||||
}
|
||||
|
||||
public function OnShow():Void
|
||||
{
|
||||
super.OnShow();
|
||||
|
||||
if ( mMovieClipList.length > 0 )
|
||||
{
|
||||
CleanUpMoveClipList( mMovieClipList );
|
||||
}
|
||||
|
||||
mMovieClipList = new Array();
|
||||
mCurrentPage = 0;
|
||||
GoToPage( 1 );
|
||||
ExternalInterface.call("f2c_Clans_GetList");
|
||||
}
|
||||
|
||||
public function CreateClan():Void
|
||||
{
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.CLAN_CREATE );
|
||||
}
|
||||
|
||||
public function GoToMyClans():Void
|
||||
{
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.CLAN_MY_CLANS );
|
||||
}
|
||||
|
||||
public function SetStateToClanFunctionsGeneral():Void
|
||||
{
|
||||
//_root.gotoAndStop("ClanFunctionsGeneral");
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.CLAN_GENERAL );
|
||||
}
|
||||
|
||||
public function SetStateToClanFunctionsInvolvingEmail():Void
|
||||
{
|
||||
//_root.gotoAndStop("ClanFunctionsInvolvingEmail");
|
||||
//LobbyInterface.Instance.ShowScreen( ScreenID.CLAN_EMAIL );
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.CLAN_INVITED_REQUESTED );
|
||||
}
|
||||
|
||||
public function SetStateToClanFunctionsQuery():Void
|
||||
{
|
||||
//_root.gotoAndStop("ClanFunctionsQuery");
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.CLAN_QUERY );
|
||||
}
|
||||
|
||||
public function Search():Void
|
||||
{
|
||||
var targetClan:String = tiSearch.text.toLowerCase();
|
||||
if ( targetClan.length > 0 )
|
||||
{
|
||||
if ( mMovieClipList.length > 0 )
|
||||
{
|
||||
CleanUpMoveClipList( mMovieClipList );
|
||||
}
|
||||
|
||||
mMovieClipList = new Array();
|
||||
mCurrentPage = 0;
|
||||
GoToPage( 1 );
|
||||
|
||||
ConsoleWindow.Trace("Search()... " + targetClan);
|
||||
var length:Number = mClanNames.length;
|
||||
for ( var i:Number = 0; i < length; i++ )
|
||||
{
|
||||
var clan:String = mClanNames[i].toLowerCase();
|
||||
//ConsoleWindow.Trace("... looking at " + clan);
|
||||
if ( clan.length >= targetClan.length )
|
||||
{
|
||||
var length2:Number = clan.length;
|
||||
var lettersFound:Number = 0;
|
||||
for ( var m:Number = 0; m < length2; m++ )
|
||||
{
|
||||
//ConsoleWindow.Trace("... letter " + clan.charAt(m));
|
||||
//ConsoleWindow.Trace("... comparing " + targetClan.charAt(lettersFound) + " and " + clan.charAt(m));
|
||||
if ( targetClan.charAt(lettersFound) == clan.charAt(m) )
|
||||
{
|
||||
lettersFound++;
|
||||
//ConsoleWindow.Trace("... found " + lettersFound);
|
||||
if ( lettersFound == targetClan.length )
|
||||
{
|
||||
//ConsoleWindow.Trace("Adding entry! " + clan);
|
||||
AddListEntry( clan, 1 );
|
||||
m = length2;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( lettersFound > 0 )
|
||||
{
|
||||
m--;
|
||||
}
|
||||
lettersFound = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
OnMoveClipListUpdated();
|
||||
ShowPage(1);
|
||||
}
|
||||
}
|
||||
|
||||
public function c2f_Clans_GetList():Void
|
||||
{
|
||||
var resultIdentifier:String = arguments[0];
|
||||
ConsoleWindow.Trace("c2f_Clans_GetList, resultIdentifier = " + resultIdentifier);
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
{
|
||||
mClanNames = new Array();
|
||||
var numClanNames = arguments.length-1;
|
||||
for (var i:Number=0; i < numClanNames; i++)
|
||||
{
|
||||
var clanName:String = arguments[1+i];
|
||||
ConsoleWindow.Trace("clanName = " + clanName);
|
||||
AddListEntry(clanName);
|
||||
mClanNames.push( clanName );
|
||||
}
|
||||
|
||||
OnMoveClipListUpdated();
|
||||
ShowPage(1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
private function AddListEntry( clanToAdd:String, _profileImageIndex:Number ):MovieClip
|
||||
{
|
||||
var clanEntry:MovieClip = attachMovie("ClanListEntry", "mcClanEntry" + mMovieClipList.length, getNextHighestDepth() );
|
||||
clanEntry._visible = false;
|
||||
clanEntry.tfClanName.text = clanToAdd;
|
||||
mMovieClipList.push( clanEntry );
|
||||
ConsoleWindow.Trace("Adding entry: " + clanEntry);
|
||||
|
||||
var self:ClanRootScreen = this;
|
||||
clanEntry.onPress = function() { self.OnSelectClan( this ); }
|
||||
|
||||
return clanEntry;
|
||||
}
|
||||
|
||||
public function OnSelectClan( clanEntry:MovieClip ):Void
|
||||
{
|
||||
ConsoleWindow.Trace("clanRootScreen.OnSelectClan, clan = " + clanEntry._name);
|
||||
ClanGeneralScreen.Instance.SetClanName( clanEntry.tfClanName.text );
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.CLAN_GENERAL );
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user