Init
This commit is contained in:
105
Samples/Lobby2ClientGFx3.0/Resources/Classes/PageNavigator.as
Normal file
105
Samples/Lobby2ClientGFx3.0/Resources/Classes/PageNavigator.as
Normal file
@ -0,0 +1,105 @@
|
||||
|
||||
|
||||
import mx.utils.Delegate;
|
||||
|
||||
class PageNavigator extends MovieClip
|
||||
{
|
||||
[Inspectable(name = "Page Total", type = "Number", defaultValue = 1)]
|
||||
private var mTotalPages:Number;
|
||||
|
||||
private var mcLeftArrow:MovieClip;
|
||||
private var mcRightArrow:MovieClip;
|
||||
private var tfPage:TextField;
|
||||
private var mCurPage:Number;
|
||||
|
||||
private var mNextPageCallback:Function;
|
||||
private var mPreviousPageCallback:Function;
|
||||
|
||||
private var mIsEnabled:Boolean;
|
||||
|
||||
public function PageNavigator()
|
||||
{
|
||||
mCurPage = 1;
|
||||
mTotalPages = 1;
|
||||
mIsEnabled = true;
|
||||
}
|
||||
|
||||
public function onLoad():Void
|
||||
{
|
||||
OnPageChanged();
|
||||
|
||||
mcRightArrow.onPress = Delegate.create( this, NextPage );
|
||||
mcLeftArrow.onPress = Delegate.create( this, PreviousPage );
|
||||
}
|
||||
|
||||
public function AddCallbacks( _onNextPage:Function, _onPreviousPage:Function )
|
||||
{
|
||||
mNextPageCallback = _onNextPage;
|
||||
mPreviousPageCallback = _onPreviousPage;
|
||||
|
||||
ConsoleWindow.Trace( "Adding calls: " + _onNextPage + ", " + _onPreviousPage );
|
||||
}
|
||||
|
||||
public function Disable():Void
|
||||
{
|
||||
mIsEnabled = false;
|
||||
}
|
||||
|
||||
public function Enable():Void
|
||||
{
|
||||
mIsEnabled = true;
|
||||
}
|
||||
|
||||
public function SetTotalPages( _total ):Void
|
||||
{
|
||||
mTotalPages = _total;
|
||||
OnPageChanged();
|
||||
_visible = ( mTotalPages > 0 );
|
||||
|
||||
}
|
||||
|
||||
public function GoToPage( _page:Number ):Void
|
||||
{
|
||||
if ( _page > 0 && _page <= mTotalPages )
|
||||
{
|
||||
mCurPage = 1;
|
||||
OnPageChanged();
|
||||
}
|
||||
}
|
||||
|
||||
private function NextPage():Void
|
||||
{
|
||||
if ( mIsEnabled && mCurPage + 1 <= mTotalPages )
|
||||
{
|
||||
mCurPage++;
|
||||
OnPageChanged();
|
||||
mNextPageCallback.call();
|
||||
}
|
||||
}
|
||||
|
||||
public function PreviousPage():Void
|
||||
{
|
||||
if ( mIsEnabled && mCurPage - 1 > 0 )
|
||||
{
|
||||
mCurPage--;
|
||||
OnPageChanged();
|
||||
mPreviousPageCallback.call();
|
||||
}
|
||||
}
|
||||
|
||||
private function OnPageChanged():Void
|
||||
{
|
||||
tfPage.text = String(mCurPage) + " OF " + String(mTotalPages);
|
||||
mcLeftArrow._visible = true;
|
||||
mcRightArrow._visible = true;
|
||||
if ( mCurPage == mTotalPages )
|
||||
{
|
||||
mcRightArrow._visible = false;
|
||||
}
|
||||
if ( mCurPage == 1 )
|
||||
{
|
||||
mcLeftArrow._visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user