Files
SLikeNet/Samples/Lobby2ClientGFx3.0/Resources/Classes/Screens/ProfileScreen.as
2025-11-24 14:19:51 +05:30

149 lines
5.1 KiB
ActionScript

import gfx.controls.TextArea;
import gfx.controls.Button;
import Screens.RegisterAccountScreen3;
import flash.external.*;
class Screens.ProfileScreen extends Screen
{
private var mcEditProfile:Button;
private var mcSaveProfile:Button;
private var mcChange:Button;
private var mcEditBlockList:Button;
private var mcEditInfo:Button;
private var tfUsername:TextField;
private var mcProfileImage:MovieClip;
private var taAboutMe:TextArea;
private var taActivities:TextArea;
private var taInterests:TextArea;
private var taFavoriteGames:TextArea;
private var taFavoriteMovies:TextArea;
private var taFavoriteBooks:TextArea;
private var taFavoriteQuotes:TextArea;
private var mEditMode:Boolean;
private static var mInstance:ProfileScreen;
public function ProfileScreen()
{
ConsoleWindow.Trace("Constructing ProfileScreen");
mScreenId = ScreenID.PROFILE;
mScreenTabId = ScreenTab.ID_PROFILE;
mInstance = this;
}
public static function get Instance():ProfileScreen { return mInstance; }
public function VOnFinishedLoading():Void
{
//Add click event for buttons
mcEditBlockList.addEventListener("click", this, "OnClickEditBlockList");
mcSaveProfile.addEventListener("click", this, "OnClickSaveProfile");
mcEditProfile.addEventListener("click", this, "OnClickEditProfile");
mcChange.addEventListener("click", this, "OnClickedChange");
mcEditInfo.addEventListener("click", this, "OnClickEditInfo");
//Add callbacks for C++
super.VOnFinishedLoading();
}
public function OnShow():Void
{
if ( !mcProfileImage.mcImageContainer.mcImage )
{
var imageIndex:Number = LobbyInterface.Instance.GetProfileImageIndex();
mcProfileImage.attachMovie( "ProfileImage" + imageIndex, "mcImage", mcProfileImage.getNextHighestDepth() );
}
tfUsername.text = LobbyInterface.Instance.GetUsername();
EnableTextInput( false );
}
public function EnableTextInput( state:Boolean ):Void
{
mcEditProfile._visible = !state;
mcSaveProfile._visible = state;
mEditMode = state;
taAboutMe.disabled = !state;
taActivities.disabled = !state;
taInterests.disabled = !state;
taFavoriteBooks.disabled = !state;
taFavoriteGames.disabled = !state;
taFavoriteMovies.disabled = !state;
taFavoriteQuotes.disabled = !state;
}
public function OnReceivedPlayerInfo():Void
{
taAboutMe.text = AccountInfo.Instance.GetAboutMe();
taActivities.text = AccountInfo.Instance.GetActivities();
taInterests.text = AccountInfo.Instance.GetInterests();
taFavoriteGames.text = AccountInfo.Instance.GetFavoriteGames();
taFavoriteMovies.text = AccountInfo.Instance.GetFavoriteBooks();
taFavoriteBooks.text = AccountInfo.Instance.GetFavoriteMovies();
taFavoriteQuotes.text = AccountInfo.Instance.GetFavoriteQuotes();
}
public function GetAboutMe():String { return taAboutMe.text; }
public function GetActivities():String { return taActivities.text; }
public function GetInterests():String { return taInterests.text; }
public function GetFavoriteGames():String { return taFavoriteGames.text; }
public function GetFavoriteBooks():String { return taFavoriteMovies.text; }
public function GetFavoriteMovies():String { return taFavoriteBooks.text; }
public function GetFavoriteQuotes():String { return taFavoriteQuotes.text; }
public function OnClickSaveProfile():Void
{
EnableTextInput(false);
f2c_UpdateAccount();
}
public function OnClickEditProfile():Void
{
EnableTextInput( true );
}
public function OnClickedChange():Void
{
LobbyInterface.Instance.ShowScreen( ScreenID.CHANGE_PHOTO );
}
public function OnClickEditBlockList():Void
{
LobbyInterface.Instance.ShowScreen( ScreenID.BLOCK_LIST );
}
public function OnClickEditInfo():Void
{
LobbyInterface.Instance.ShowScreen( ScreenID.REGISTER_ACCOUNT_PERSONAL );
}
public function f2c_UpdateAccount():Void
{
// Do not change the order the parameters are passed in as
ExternalInterface.call("f2c_UpdateAccount",
[
AccountInfo.Instance.GetFirstName(), AccountInfo.Instance.GetMiddleName(), AccountInfo.Instance.GetLastName(),
AccountInfo.Instance.GetRace(), AccountInfo.Instance.GetIsMale(), AccountInfo.Instance.GetHomeAddress1(),
AccountInfo.Instance.GetHomeAddress2(), AccountInfo.Instance.GetHomeCity(), AccountInfo.Instance.GetHomeState(),
AccountInfo.Instance.GetHomeCountry(),
AccountInfo.Instance.GetHomeZipCode(),
AccountInfo.Instance.GetBillingAddress1(),
AccountInfo.Instance.GetBillingAddress2(), AccountInfo.Instance.GetBillingCity(), AccountInfo.Instance.GetBillingState(),
AccountInfo.Instance.GetBillingCountry(),
AccountInfo.Instance.GetBillingZipCode(), AccountInfo.Instance.GetEmailAddress(),
AccountInfo.Instance.GetPassword(), AccountInfo.Instance.GetPasswordRecoveryQuestion(), AccountInfo.Instance.GetPasswordRecoveryAnswer(),
"", "",
String( AccountInfo.Instance.GetAgeInDays() ),
GetAboutMe(),
GetActivities(),
GetInterests(),
GetFavoriteGames(),
GetFavoriteMovies(),
GetFavoriteBooks(),
GetFavoriteQuotes()
]);
}
}