Init
270
Samples/Lobby2ClientGFx3.0/Lobby2ClientGFx3.0.vcxproj
Normal file
@ -0,0 +1,270 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug - Unicode|Win32">
|
||||
<Configuration>Debug - Unicode</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release - Unicode|Win32">
|
||||
<Configuration>Release - Unicode</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Retail - Unicode|Win32">
|
||||
<Configuration>Retail - Unicode</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Retail|Win32">
|
||||
<Configuration>Retail</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectName>Lobby2ClientGFx3</ProjectName>
|
||||
<ProjectGuid>{3F538D51-F9F2-41AD-B7F3-B9A22FE9FDA6}</ProjectGuid>
|
||||
<RootNamespace>Lobby2Client</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Retail|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - Unicode|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Retail - Unicode|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Unicode|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Retail|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release - Unicode|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Retail - Unicode|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Unicode|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug - Unicode|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug - Unicode|Win32'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Retail|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release - Unicode|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Retail - Unicode|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Retail|Win32'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release - Unicode|Win32'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Retail - Unicode|Win32'">false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>./../../Source/include;./../../DependentExtensions/Lobby2/Rooms;./../../DependentExtensions/GFx3;./../../DependentExtensions/Lobby2;$(GFXSDK)\Src\GRenderer;$(GFXSDK)\Src\GKernel;$(GFXSDK)\Src\GFxXML;$(GFXSDK)\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>./../../Lib/SLikeNet_LibStatic_Debug_Win32.lib;ws2_32.lib;libgfx.lib;libjpeg.lib;zlib.lib;imm32.lib;winmm.lib;libgrenderer_d3d9.lib;d3dx9.lib;d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(DXSDK_DIR)\Lib\x86;$(GFXSDK)\3rdParty\expat-2.0.1\lib;$(GFXSDK)\Lib\$(Platform)\Msvc80\Debug\;$(GFXSDK)\3rdParty\zlib-1.2.3\Lib\$(Platform)\Msvc80\Debug;$(GFXSDK)\3rdParty\jpeg-6b\Lib\$(Platform)\Msvc80\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Unicode|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>./../../Source/include;./../../DependentExtensions/Lobby2/Rooms;./../../DependentExtensions/GFx3;./../../DependentExtensions/Lobby2;$(GFXSDK)\Src\GRenderer;$(GFXSDK)\Src\GKernel;$(GFXSDK)\Src\GFxXML;$(GFXSDK)\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>./../../Lib/SLikeNet_LibStatic_Debug - Unicode_Win32.lib;ws2_32.lib;libgfx.lib;libjpeg.lib;zlib.lib;imm32.lib;winmm.lib;libgrenderer_d3d9.lib;d3dx9.lib;d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(DXSDK_DIR)\Lib\x86;$(GFXSDK)\3rdParty\expat-2.0.1\lib;$(GFXSDK)\Lib\$(Platform)\Msvc80\Debug\;$(GFXSDK)\3rdParty\zlib-1.2.3\Lib\$(Platform)\Msvc80\Debug;$(GFXSDK)\3rdParty\jpeg-6b\Lib\$(Platform)\Msvc80\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>./../../Source/include;./../../DependentExtensions/Lobby2/Rooms;./../../DependentExtensions/GFx3;./../../DependentExtensions/Lobby2;$(GFXSDK)\Src\GRenderer;$(GFXSDK)\Src\GKernel;$(GFXSDK)\Src\GFxXML;$(GFXSDK)\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>./../../Lib/SLikeNet_LibStatic_Release_Win32.lib;ws2_32.lib;libgfx.lib;libjpeg.lib;zlib.lib;imm32.lib;winmm.lib;libgrenderer_d3d9.lib;d3dx9.lib;d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(DXSDK_DIR)\Lib\x86;$(GFXSDK)\3rdParty\expat-2.0.1\lib;$(GFXSDK)\Lib\$(Platform)\Msvc80\Release\;$(GFXSDK)\3rdParty\zlib-1.2.3\Lib\$(Platform)\Msvc80\Release;$(GFXSDK)\3rdParty\jpeg-6b\Lib\$(Platform)\Msvc80\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Retail|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>./../../Source/include;./../../DependentExtensions/Lobby2/Rooms;./../../DependentExtensions/GFx3;./../../DependentExtensions/Lobby2;$(GFXSDK)\Src\GRenderer;$(GFXSDK)\Src\GKernel;$(GFXSDK)\Src\GFxXML;$(GFXSDK)\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;WIN32;_RETAIL;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>./../../Lib/SLikeNet_LibStatic_Retail_Win32.lib;ws2_32.lib;libgfx.lib;libjpeg.lib;zlib.lib;imm32.lib;winmm.lib;libgrenderer_d3d9.lib;d3dx9.lib;d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(DXSDK_DIR)\Lib\x86;$(GFXSDK)\3rdParty\expat-2.0.1\lib;$(GFXSDK)\Lib\$(Platform)\Msvc80\Release\;$(GFXSDK)\3rdParty\zlib-1.2.3\Lib\$(Platform)\Msvc80\Release;$(GFXSDK)\3rdParty\jpeg-6b\Lib\$(Platform)\Msvc80\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release - Unicode|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>./../../Source/include;./../../DependentExtensions/Lobby2/Rooms;./../../DependentExtensions/GFx3;./../../DependentExtensions/Lobby2;$(GFXSDK)\Src\GRenderer;$(GFXSDK)\Src\GKernel;$(GFXSDK)\Src\GFxXML;$(GFXSDK)\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>./../../Lib/SLikeNet_LibStatic_Release - Unicode_Win32.lib;ws2_32.lib;libgfx.lib;libjpeg.lib;zlib.lib;imm32.lib;winmm.lib;libgrenderer_d3d9.lib;d3dx9.lib;d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(DXSDK_DIR)\Lib\x86;$(GFXSDK)\3rdParty\expat-2.0.1\lib;$(GFXSDK)\Lib\$(Platform)\Msvc80\Release\;$(GFXSDK)\3rdParty\zlib-1.2.3\Lib\$(Platform)\Msvc80\Release;$(GFXSDK)\3rdParty\jpeg-6b\Lib\$(Platform)\Msvc80\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Retail - Unicode|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>./../../Source/include;./../../DependentExtensions/Lobby2/Rooms;./../../DependentExtensions/GFx3;./../../DependentExtensions/Lobby2;$(GFXSDK)\Src\GRenderer;$(GFXSDK)\Src\GKernel;$(GFXSDK)\Src\GFxXML;$(GFXSDK)\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;WIN32;_RETAIL;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>./../../Lib/SLikeNet_LibStatic_Retail - Unicode_Win32.lib;ws2_32.lib;libgfx.lib;libjpeg.lib;zlib.lib;imm32.lib;winmm.lib;libgrenderer_d3d9.lib;d3dx9.lib;d3d9.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(DXSDK_DIR)\Lib\x86;$(GFXSDK)\3rdParty\expat-2.0.1\lib;$(GFXSDK)\Lib\$(Platform)\Msvc80\Release\;$(GFXSDK)\3rdParty\zlib-1.2.3\Lib\$(Platform)\Msvc80\Release;$(GFXSDK)\3rdParty\jpeg-6b\Lib\$(Platform)\Msvc80\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\DependentExtensions\Lobby2\Lobby2Client.cpp" />
|
||||
<ClCompile Include="..\..\DependentExtensions\Lobby2\Lobby2Message.cpp" />
|
||||
<ClCompile Include="..\..\DependentExtensions\Lobby2\Lobby2Plugin.cpp" />
|
||||
<ClCompile Include="..\..\DependentExtensions\Lobby2\Lobby2Presence.cpp" />
|
||||
<ClCompile Include="..\..\DependentExtensions\Lobby2\Lobby2ResultCode.cpp" />
|
||||
<ClCompile Include="Lobby2ClientGFx3Impl.cpp" />
|
||||
<ClCompile Include="..\..\DependentExtensions\GFx3\FxGameDelegate.cpp" />
|
||||
<ClCompile Include="GFxPlayerTinyD3D9.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\DependentExtensions\Lobby2\Lobby2Presence.h" />
|
||||
<ClInclude Include="..\..\DependentExtensions\Lobby2\Lobby2Client.h" />
|
||||
<ClInclude Include="..\..\DependentExtensions\Lobby2\Lobby2Message.h" />
|
||||
<ClInclude Include="..\..\DependentExtensions\Lobby2\Lobby2Plugin.h" />
|
||||
<ClInclude Include="..\..\DependentExtensions\Lobby2\Lobby2ResultCode.h" />
|
||||
<ClInclude Include="Lobby2ClientGFx3Impl.h" />
|
||||
<ClInclude Include="..\..\DependentExtensions\GFx3\FxGameDelegate.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@ -0,0 +1,68 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Main">
|
||||
<UniqueIdentifier>{5bda7f30-5490-47b6-ae18-a3a6f5e437db}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="GFx3">
|
||||
<UniqueIdentifier>{2e1fef33-e920-4848-ac69-1e7e674fd20b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\DependentExtensions\Lobby2\Lobby2Client.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DependentExtensions\Lobby2\Lobby2Message.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DependentExtensions\Lobby2\Lobby2Plugin.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DependentExtensions\Lobby2\Lobby2Presence.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DependentExtensions\Lobby2\Lobby2ResultCode.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Lobby2ClientGFx3Impl.cpp">
|
||||
<Filter>Main</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DependentExtensions\GFx3\FxGameDelegate.cpp">
|
||||
<Filter>GFx3</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GFxPlayerTinyD3D9.cpp">
|
||||
<Filter>GFx3</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\DependentExtensions\Lobby2\Lobby2Presence.h">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\DependentExtensions\Lobby2\Lobby2Client.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\DependentExtensions\Lobby2\Lobby2Message.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\DependentExtensions\Lobby2\Lobby2Plugin.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\DependentExtensions\Lobby2\Lobby2ResultCode.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Lobby2ClientGFx3Impl.h">
|
||||
<Filter>Main</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\DependentExtensions\GFx3\FxGameDelegate.h">
|
||||
<Filter>GFx3</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
1398
Samples/Lobby2ClientGFx3.0/Lobby2ClientGFx3Impl.cpp
Normal file
193
Samples/Lobby2ClientGFx3.0/Lobby2ClientGFx3Impl.h
Normal file
@ -0,0 +1,193 @@
|
||||
/*
|
||||
* Original work: Copyright (c) 2014, Oculus VR, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* RakNet License.txt file in the licenses directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the RakNet Patents.txt file in the same directory.
|
||||
*
|
||||
*
|
||||
* Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
|
||||
*
|
||||
* This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style
|
||||
* license found in the license.txt file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
#ifndef __LOBBY_2_CLIENT_GFX3_IMPL_H
|
||||
#define __LOBBY_2_CLIENT_GFX3_IMPL_H
|
||||
|
||||
#include "slikenet/WindowsIncludes.h"
|
||||
#include "slikenet/types.h"
|
||||
#include "FxGameDelegate.h"
|
||||
#include "Lobby2Message.h"
|
||||
#include "slikenet/PluginInterface2.h"
|
||||
|
||||
#define ACTIONSCRIPT_CALLABLE_HEADER(functionName) virtual void functionName(const FxDelegateArgs& pparams);
|
||||
#define ACTIONSCRIPT_CALLABLE_FUNCTION(className, functionName) \
|
||||
void functionName(const FxDelegateArgs& pparams) \
|
||||
{ \
|
||||
((className*)pparams.GetHandler())->functionName(pparams); \
|
||||
} \
|
||||
void className::functionName(const FxDelegateArgs& pparams)
|
||||
|
||||
namespace SLNet {
|
||||
|
||||
// GFxPlayerTinyD3D9.cpp has an instance of this class, and callls the corresponding 3 function
|
||||
// This keeps the patching code out of the GFx sample as much as possible
|
||||
class Lobby2ClientGFx3Impl : public FxDelegateHandler, public SLNet::Lobby2Callbacks, public PluginInterface2
|
||||
{
|
||||
public:
|
||||
Lobby2ClientGFx3Impl();
|
||||
~Lobby2ClientGFx3Impl();
|
||||
void Init(SLNet::Lobby2Client *_lobby2Client, SLNet::Lobby2MessageFactory *_messageFactory, RakPeerInterface *_rakPeer, GPtr<FxDelegate> pDelegate, GPtr<GFxMovieView> pMovie);
|
||||
void Update(void);
|
||||
void Shutdown(void);
|
||||
|
||||
// Update all callbacks from flash
|
||||
void Accept(CallbackProcessor* cbreg);
|
||||
|
||||
// Calls from Flash
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_ResetDatabase);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Connect);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_RecoverPasswordByUsername);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_GetPasswordByPasswordRecoveryAnswer);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_RegisterAccountStateQuery);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_DeleteAccount);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_GetAccountDetails);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_LoginToAccount);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_DisconnectFromServer);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_CheckCDKey);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_RegisterAccount);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_ValidateHandle);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_ChangeHandle);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Logoff);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_UpdateAccount);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_StartIgnore);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_StopIgnore);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_GetIgnoreList);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_SendInvite);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_AcceptInvite);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_RejectInvite);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_RemoveFriend);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_GetFriendInvites);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_GetFriends);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_SendEmail);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_DeleteEmail);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_UpdateEmail);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_GetEmails);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_Create);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_SetProperties);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_GetProperties);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_SetMyMemberProperties);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_GrantLeader);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_SetSubleaderStatus);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_SetMemberRank);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_GetMemberProperties);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_ChangeHandle);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_Leave);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_Get);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_SendJoinInvitation);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_WithdrawJoinInvitation);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_AcceptJoinInvitation);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_RejectJoinInvitation);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_DownloadInvitationList);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_SendJoinRequest);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_WithdrawJoinRequest);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_AcceptJoinRequest);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_RejectJoinRequest);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_DownloadRequestList);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_KickAndBlacklistUser);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_UnblacklistUser);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_GetBlacklist);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_GetMembers);
|
||||
ACTIONSCRIPT_CALLABLE_HEADER(f2c_Clans_GetList);
|
||||
// Callbacks from lobby
|
||||
virtual void MessageResult(SLNet::CDKey_GetStatus *message);
|
||||
virtual void MessageResult(SLNet::System_DeleteAccount *message);
|
||||
virtual void MessageResult(SLNet::Client_Login *message);
|
||||
virtual void MessageResult(SLNet::System_CreateDatabase *message);
|
||||
virtual void MessageResult(SLNet::System_CreateTitle *message);
|
||||
virtual void MessageResult(SLNet::Client_ValidateHandle *message);
|
||||
virtual void MessageResult(SLNet::Client_RegisterAccount *message);
|
||||
virtual void MessageResult(SLNet::Client_UpdateAccount *message);
|
||||
virtual void MessageResult(SLNet::Client_ChangeHandle *message);
|
||||
virtual void MessageResult(SLNet::Client_GetAccountDetails *message);
|
||||
virtual void MessageResult(SLNet::Client_StartIgnore *message);
|
||||
virtual void MessageResult(SLNet::Client_StopIgnore *message);
|
||||
virtual void MessageResult(SLNet::Client_GetIgnoreList *message);
|
||||
virtual void MessageResult(SLNet::Client_GetPasswordRecoveryQuestionByHandle *message);
|
||||
virtual void MessageResult(SLNet::Client_GetPasswordByPasswordRecoveryAnswer *message);
|
||||
virtual void MessageResult(SLNet::Friends_SendInvite *message);
|
||||
virtual void MessageResult(SLNet::Friends_AcceptInvite *message);
|
||||
virtual void MessageResult(SLNet::Friends_RejectInvite *message);
|
||||
virtual void MessageResult(SLNet::Friends_Remove *message);
|
||||
virtual void MessageResult(SLNet::Friends_GetInvites *message);
|
||||
virtual void MessageResult(SLNet::Friends_GetFriends *message);
|
||||
virtual void MessageResult(SLNet::Emails_Send *message);
|
||||
virtual void MessageResult(SLNet::Emails_Delete *message);
|
||||
virtual void MessageResult(SLNet::Emails_SetStatus *message);
|
||||
virtual void MessageResult(SLNet::Emails_Get *message);
|
||||
virtual void MessageResult(SLNet::Clans_Create *message);
|
||||
virtual void MessageResult(SLNet::Clans_SetProperties *message);
|
||||
virtual void MessageResult(SLNet::Clans_GetProperties *message);
|
||||
virtual void MessageResult(SLNet::Clans_SetMyMemberProperties *message);
|
||||
virtual void MessageResult(SLNet::Clans_GrantLeader *message);
|
||||
virtual void MessageResult(SLNet::Clans_SetSubleaderStatus *message);
|
||||
virtual void MessageResult(SLNet::Clans_SetMemberRank *message);
|
||||
virtual void MessageResult(SLNet::Clans_GetMemberProperties *message);
|
||||
virtual void MessageResult(SLNet::Clans_ChangeHandle *message);
|
||||
virtual void MessageResult(SLNet::Clans_Leave *message);
|
||||
virtual void MessageResult(SLNet::Clans_Get *message);
|
||||
virtual void MessageResult(SLNet::Clans_SendJoinInvitation *message);
|
||||
virtual void MessageResult(SLNet::Clans_WithdrawJoinInvitation *message);
|
||||
virtual void MessageResult(SLNet::Clans_AcceptJoinInvitation *message);
|
||||
virtual void MessageResult(SLNet::Clans_RejectJoinInvitation *message);
|
||||
virtual void MessageResult(SLNet::Clans_DownloadInvitationList *message);
|
||||
virtual void MessageResult(SLNet::Clans_SendJoinRequest *message);
|
||||
virtual void MessageResult(SLNet::Clans_WithdrawJoinRequest *message);
|
||||
virtual void MessageResult(SLNet::Clans_AcceptJoinRequest *message);
|
||||
virtual void MessageResult(SLNet::Clans_RejectJoinRequest *message);
|
||||
virtual void MessageResult(SLNet::Clans_DownloadRequestList *message);
|
||||
virtual void MessageResult(SLNet::Clans_KickAndBlacklistUser *message);
|
||||
virtual void MessageResult(SLNet::Clans_UnblacklistUser *message);
|
||||
virtual void MessageResult(SLNet::Clans_GetBlacklist *message);
|
||||
virtual void MessageResult(SLNet::Clans_GetMembers *message);
|
||||
virtual void MessageResult(SLNet::Clans_GetList *message);
|
||||
|
||||
virtual void MessageResult(SLNet::Notification_Client_RemoteLogin *message);
|
||||
virtual void MessageResult(SLNet::Notification_Client_IgnoreStatus *message);
|
||||
virtual void MessageResult(SLNet::Notification_Friends_StatusChange *message);
|
||||
virtual void MessageResult(SLNet::Notification_User_ChangedHandle *message);
|
||||
virtual void MessageResult(SLNet::Notification_Friends_CreatedClan *message);
|
||||
virtual void MessageResult(SLNet::Notification_Emails_Received *message);
|
||||
virtual void MessageResult(SLNet::Notification_Clans_GrantLeader *message);
|
||||
virtual void MessageResult(SLNet::Notification_Clans_SetSubleaderStatus *message);
|
||||
virtual void MessageResult(SLNet::Notification_Clans_SetMemberRank *message);
|
||||
virtual void MessageResult(SLNet::Notification_Clans_ChangeHandle *message);
|
||||
virtual void MessageResult(SLNet::Notification_Clans_Leave *message);
|
||||
virtual void MessageResult(SLNet::Notification_Clans_PendingJoinStatus *message);
|
||||
virtual void MessageResult(SLNet::Notification_Clans_NewClanMember *message);
|
||||
virtual void MessageResult(SLNet::Notification_Clans_KickAndBlacklistUser *message);
|
||||
virtual void MessageResult(SLNet::Notification_Clans_UnblacklistUser *message);
|
||||
virtual void MessageResult(SLNet::Notification_Clans_Destroyed *message);
|
||||
|
||||
|
||||
static void OpenSite(const FxDelegateArgs& pparams);
|
||||
|
||||
// PluginInterface2
|
||||
virtual void OnClosedConnection(const SystemAddress &systemAddress, RakNetGUID rakNetGUID, PI2_LostConnectionReason lostConnectionReason );
|
||||
virtual void OnNewConnection(const SystemAddress &systemAddress, RakNetGUID rakNetGUID, bool isIncoming);
|
||||
virtual void OnFailedConnectionAttempt(Packet *packet, PI2_FailedConnectionAttemptReason failedConnectionAttemptReason);
|
||||
|
||||
|
||||
GPtr<FxDelegate> delegate;
|
||||
GPtr<GFxMovieView> movie;
|
||||
|
||||
SLNet::Lobby2Client *lobby2Client;
|
||||
SLNet::Lobby2MessageFactory *messageFactory;
|
||||
SLNet::RakPeerInterface *rakPeer;
|
||||
};
|
||||
|
||||
} // namespace SLNet
|
||||
|
||||
#endif // __LOBBY_2_CLIENT_GFX3_IMPL_H
|
||||
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
BIN
Samples/Lobby2ClientGFx3.0/Resources/Art Assets/Checkmark.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
BIN
Samples/Lobby2ClientGFx3.0/Resources/Art Assets/Input_Box.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
Samples/Lobby2ClientGFx3.0/Resources/Art Assets/Input_box2.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
Samples/Lobby2ClientGFx3.0/Resources/Art Assets/Input_box4.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 42 KiB |
BIN
Samples/Lobby2ClientGFx3.0/Resources/Art Assets/RakNet_logo.png
Normal file
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 16 KiB |
BIN
Samples/Lobby2ClientGFx3.0/Resources/Art Assets/arrow.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 7.6 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 13 KiB |
BIN
Samples/Lobby2ClientGFx3.0/Resources/Art Assets/game_bg.png
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 8.9 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 8.6 KiB |
|
After Width: | Height: | Size: 8.5 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 8.8 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 8.5 KiB |
|
After Width: | Height: | Size: 5.9 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
BIN
Samples/Lobby2ClientGFx3.0/Resources/Art Assets/icon_mail.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 8.2 KiB |
BIN
Samples/Lobby2ClientGFx3.0/Resources/Art Assets/line.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
BIN
Samples/Lobby2ClientGFx3.0/Resources/Art Assets/planet.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
BIN
Samples/Lobby2ClientGFx3.0/Resources/Art Assets/progress_bar.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
BIN
Samples/Lobby2ClientGFx3.0/Resources/Art Assets/tab_arrow.png
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
BIN
Samples/Lobby2ClientGFx3.0/Resources/Art Assets/tab_clan.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
Samples/Lobby2ClientGFx3.0/Resources/Art Assets/tab_email.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
Samples/Lobby2ClientGFx3.0/Resources/Art Assets/tab_friends.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
Samples/Lobby2ClientGFx3.0/Resources/Art Assets/tab_login.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 14 KiB |
BIN
Samples/Lobby2ClientGFx3.0/Resources/Art Assets/tab_profile.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
Samples/Lobby2ClientGFx3.0/Resources/Art Assets/tab_special.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
275
Samples/Lobby2ClientGFx3.0/Resources/Classes/AccountInfo.as
Normal file
@ -0,0 +1,275 @@
|
||||
import flash.filters.GradientGlowFilter;
|
||||
import flash.external.*;
|
||||
import Screens.ProfileScreen;
|
||||
import Screens.RegisterAccountScreen;
|
||||
|
||||
class AccountInfo
|
||||
{
|
||||
private var mFirstName:String;
|
||||
private var mMiddleName:String;
|
||||
private var mLastName:String;
|
||||
private var mHomeAddress1:String;
|
||||
private var mHomeAddress2:String;
|
||||
private var mHomeCity:String;
|
||||
private var mHomeState:String;
|
||||
private var mHomeZipCode:String;
|
||||
private var mBillingAddress1:String;
|
||||
private var mBillingAddress2:String;
|
||||
private var mBillingCity:String;
|
||||
private var mBillingState:String;
|
||||
private var mBillingZipCode:String;
|
||||
private var mEmailAddress:String;
|
||||
private var mPassword:String;
|
||||
private var mPasswordRecoveryQuestion:String;
|
||||
private var mPasswordRecoveryAnswer:String;
|
||||
//private var caption1:TextInput;
|
||||
//private var caption2:TextInput;
|
||||
//private var ageInDays:TextInput;
|
||||
private var mUserName:String;
|
||||
|
||||
private var mRace:String;
|
||||
private var mHomeCountry:String;
|
||||
private var mBillingCountry:String;
|
||||
private var mIsMale:Boolean;
|
||||
private var mAgeInDays:Number;
|
||||
private var mBirthYear:Number;
|
||||
private var mBirthMonth:Number;
|
||||
private var mBirthDate:Number;
|
||||
|
||||
private var mAboutMe:String;
|
||||
private var mActivities:String;
|
||||
private var mInterests:String;
|
||||
private var mFavoriteGames:String;
|
||||
private var mFavoriteMovies:String;
|
||||
private var mFavoriteBooks:String;
|
||||
private var mFavoriteQuotes:String;
|
||||
|
||||
private static var mInstance:AccountInfo;
|
||||
|
||||
public function AccountInfo()
|
||||
{
|
||||
mInstance = this;
|
||||
}
|
||||
|
||||
public static function get Instance():AccountInfo
|
||||
{
|
||||
return mInstance;
|
||||
}
|
||||
|
||||
public function GetAccountInfoFromServer():Void
|
||||
{
|
||||
ConsoleWindow.Trace("AccountInfo.GetAccountInfoFromServer");
|
||||
// Do not change the order the parameters are passed in as
|
||||
ExternalInterface.call("f2c_GetAccountDetails");
|
||||
}
|
||||
|
||||
public function ServerSetAccountInfo( resultIdentifier:String, firstNameParam:String, middleNameParam:String, lastNameParam:String, raceParam:String,
|
||||
sex_maleParam:Boolean, homeAddress1Param:String, homeAddress2Param:String, homeCityParam:String, homeStateParam:String,
|
||||
homeCountryParam:String, homeZipCodeParam:String, billingAddress1Param:String, billingAddress2Param:String,
|
||||
billingCityParam:String, billingStateParam:String, billingCountryParam:String, billingZipCodeParam:String,
|
||||
emailAddressParam:String, passwordParam:String, passwordRecoveryQuestionParam:String, passwordRecoveryAnswerParam:String,
|
||||
caption1Param:String, caption2Param:String, ageInDaysParam:Number, aboutMe:String, activities:String , interests:String,
|
||||
favGames:String , favMovies:String, favBooks:String, favQuotes:String ):Void
|
||||
{
|
||||
ConsoleWindow.Trace( "AccountInfo.ServerSetAccountInfo()... " + resultIdentifier );
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "SUCCESS":
|
||||
{
|
||||
mFirstName = firstNameParam;
|
||||
mMiddleName = middleNameParam;
|
||||
mLastName = lastNameParam;
|
||||
mRace = raceParam;
|
||||
mIsMale = sex_maleParam;
|
||||
mHomeAddress1 = homeAddress1Param;
|
||||
mHomeAddress2 = homeAddress2Param;
|
||||
mHomeCity = homeCityParam;
|
||||
mHomeState = homeStateParam;
|
||||
mHomeCountry = homeCountryParam;
|
||||
mHomeZipCode = homeZipCodeParam;
|
||||
mBillingAddress1 = billingAddress1Param;
|
||||
mBillingAddress2 = billingAddress2Param;
|
||||
mBillingCity = billingCityParam;
|
||||
mBillingState = billingStateParam;
|
||||
mBillingCountry = billingCountryParam;
|
||||
mBillingZipCode = billingZipCodeParam;
|
||||
mEmailAddress = emailAddressParam;
|
||||
mPassword = passwordParam;
|
||||
mPasswordRecoveryQuestion = passwordRecoveryQuestionParam;
|
||||
mPasswordRecoveryAnswer = passwordRecoveryAnswerParam;
|
||||
//caption1.text = caption1Param;
|
||||
//caption2.text = caption2Param;
|
||||
mAgeInDays = ageInDaysParam;
|
||||
var object:Object = { };
|
||||
ConvertAgeDaysToBirthdate( mAgeInDays, object );
|
||||
mBirthYear = object.year;
|
||||
mBirthMonth = object.month;
|
||||
mBirthDate = object.date;
|
||||
|
||||
mUserName = LobbyInterface.Instance.GetUsername();
|
||||
|
||||
mAboutMe = aboutMe;
|
||||
mActivities = activities;
|
||||
mInterests = interests;
|
||||
mFavoriteGames = favGames;
|
||||
mFavoriteBooks = favBooks;
|
||||
mFavoriteMovies = favMovies;
|
||||
mFavoriteQuotes = favQuotes;
|
||||
|
||||
/* ConsoleWindow.Trace("Home state = " + mHomeState);
|
||||
ConsoleWindow.Trace("Race = " + mRace);
|
||||
ConsoleWindow.Trace("mBirthYear = " + mBirthYear);
|
||||
ConsoleWindow.Trace("mBirthMonth = " + mBirthMonth);
|
||||
ConsoleWindow.Trace("mBirthDate = " + mBirthDate);
|
||||
ConsoleWindow.Trace("mAgeInDays = " + mAgeInDays);
|
||||
ConsoleWindow.Trace("aboutMe = " + aboutMe);
|
||||
ConsoleWindow.Trace("activities = " + activities);
|
||||
ConsoleWindow.Trace("interests = " + interests);
|
||||
ConsoleWindow.Trace("favGames = " + favGames);
|
||||
ConsoleWindow.Trace("favMovies = " + favMovies);
|
||||
ConsoleWindow.Trace("favBooks = " + favBooks);
|
||||
ConsoleWindow.Trace("favQuotes = " + favQuotes);*/
|
||||
|
||||
ProfileScreen.Instance.OnReceivedPlayerInfo();
|
||||
break;
|
||||
}
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
//ConsoleWindow.Trace( "Can't find the logged in user in the database for some reason" );
|
||||
LobbyInterface.Instance.CreateMessageBox(resultIdentifier);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public function GetFirstName():String { return mFirstName; }
|
||||
public function GetMiddleName():String { return mMiddleName; }
|
||||
public function GetLastName():String { return mLastName; }
|
||||
public function GetRace():String { return mRace; }
|
||||
public function GetIsMale():Boolean { return mIsMale; }
|
||||
public function GetHomeAddress1():String { return mHomeAddress1; }
|
||||
public function GetHomeAddress2():String { return mHomeAddress2; }
|
||||
public function GetHomeCity():String { return mHomeCity; }
|
||||
public function GetHomeState():String { return mHomeState; }
|
||||
public function GetHomeCountry():String { return mHomeCountry; }
|
||||
public function GetHomeZipCode():String { return mHomeZipCode; }
|
||||
public function GetBillingAddress1():String { return mBillingAddress1; }
|
||||
public function GetBillingAddress2():String { return mBillingAddress2; }
|
||||
public function GetBillingCity():String { return mBillingCity; }
|
||||
public function GetBillingState():String { return mBillingState; }
|
||||
public function GetBillingCountry():String { return mBillingCountry; }
|
||||
public function GetBillingZipCode():String { return mBillingZipCode; }
|
||||
public function GetEmailAddress():String { return mEmailAddress; }
|
||||
public function GetPassword():String { return mPassword; }
|
||||
public function GetPasswordRecoveryQuestion():String { return mPasswordRecoveryQuestion; }
|
||||
public function GetPasswordRecoveryAnswer():String { return mPasswordRecoveryAnswer; }
|
||||
public function GetAgeInDays():Number { return mAgeInDays; }
|
||||
public function GetBirthYear():Number { return mBirthYear; }
|
||||
public function GetBirthMonth():Number { return mBirthMonth; }
|
||||
public function GetBirthDate():Number { return mBirthDate; }
|
||||
public function GetUserName():String { return mUserName; }
|
||||
public function GetAboutMe():String { return mAboutMe; }
|
||||
public function GetActivities():String { return mActivities; }
|
||||
public function GetInterests():String { return mInterests; }
|
||||
public function GetFavoriteGames():String { return mFavoriteGames; }
|
||||
public function GetFavoriteBooks():String { return mFavoriteBooks; }
|
||||
public function GetFavoriteMovies():String { return mFavoriteMovies; }
|
||||
public function GetFavoriteQuotes():String { return mFavoriteQuotes; }
|
||||
|
||||
public function SetFirstName( firstName:String ):Void { mFirstName = firstName; }
|
||||
public function SetMiddleName( middleName:String ):Void { mMiddleName = middleName; }
|
||||
public function SetLastName( lastName:String ):Void { mLastName = lastName; }
|
||||
public function SetRace( race:String ):Void { mRace = race; }
|
||||
public function SetIsMale( isMale:Boolean ):Void { mIsMale = isMale; }
|
||||
public function SetHomeAddress1( homeAddress1:String):Void { mHomeAddress1 = homeAddress1; }
|
||||
public function SetHomeAddress2( homeAddress2:String):Void { mHomeAddress2 = homeAddress2; }
|
||||
public function SetHomeCity( homeCity:String):Void { mHomeCity = homeCity; }
|
||||
public function SetHomeState( homeState:String):Void { mHomeState = homeState; }
|
||||
public function SetHomeCountry( homeCountry:String):Void { mHomeCountry = homeCountry; }
|
||||
public function SetHomeZipCode( homeZipeCode:String):Void { mHomeZipCode = homeZipeCode; }
|
||||
public function SetBillingAddress1( billingAddress1:String):Void { mBillingAddress1 = billingAddress1; }
|
||||
public function SetBillingAddress2( billingAddress2:String):Void { mBillingAddress2 = billingAddress2; }
|
||||
public function SetBillingCity( billingCity:String):Void { mBillingCity = billingCity; }
|
||||
public function SetBillingState( billingState:String):Void { mBillingState = billingState; }
|
||||
public function SetBillingCountry( billingCountry:String):Void { mBillingCountry = billingCountry; }
|
||||
public function SetBillingZipCode( billingZipCode:String):Void { mBillingZipCode = billingZipCode; }
|
||||
public function SetEmailAddress( billingEmail:String):Void { mEmailAddress = billingEmail; }
|
||||
public function SetPassword( password:String):Void { mPassword = password; }
|
||||
public function SetPasswordRecoveryQuestion( passwordQuestion:String):Void { mPasswordRecoveryQuestion = passwordQuestion; }
|
||||
public function SetPasswordRecoveryAnswer( passwordAnswer:String):Void { mPasswordRecoveryAnswer = passwordAnswer; }
|
||||
public function SetAgeInDays( ageInDays:Number ):Void { mAgeInDays = ageInDays; }
|
||||
public function SetBirthYear( birthYear:Number ):Void { mBirthYear = birthYear; }
|
||||
public function SetBirthMonth( birthMonth:Number ):Void { mBirthMonth = birthMonth; }
|
||||
public function SetBirthDate( birthDate:Number ):Void { mBirthDate = birthDate; }
|
||||
public function SetUserName( username:String ):Void { mUserName = username; }
|
||||
public function SetAboutMe( aboutMe:String ):Void { mAboutMe = aboutMe; }
|
||||
public function SetActivities( activities:String ):Void { mActivities = activities; }
|
||||
public function SetInterests( interests:String ):Void { mInterests = interests; }
|
||||
public function SetFavoriteGames( games:String ):Void { mFavoriteGames = games; }
|
||||
public function SetFavoriteBooks( books:String ):Void { mFavoriteBooks = books; }
|
||||
public function SetFavoriteMovies( movies:String ):Void { mFavoriteMovies = movies; }
|
||||
public function SetFavoriteQuotes( quotes:String ):Void { mFavoriteQuotes = quotes; }
|
||||
|
||||
public static function ConvertBirthdateToDays( month:Number, date:Number, year:Number ):Number
|
||||
{
|
||||
var ageInDays:Number = 0;
|
||||
month -= 1; //jan = 0, feb = 1....
|
||||
|
||||
var curDate:Date = new Date();
|
||||
var curMonth:Number = curDate.getMonth();
|
||||
ageInDays = (curDate.getFullYear() - year) * 365;
|
||||
if( month > curMonth )
|
||||
{
|
||||
ageInDays -= 365;
|
||||
}
|
||||
for ( var i:Number = 0; i < 12; i++ )
|
||||
{
|
||||
if ( month != curMonth )
|
||||
{
|
||||
ageInDays += RegisterAccountScreen.MonthDays[month];
|
||||
month = ( month + 1 ) % 12;
|
||||
}
|
||||
else
|
||||
{
|
||||
ageInDays += curDate.getDate() - date;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return ageInDays;
|
||||
}
|
||||
|
||||
public static function ConvertAgeDaysToBirthdate( ageInDays:Number, object:Object ):Void
|
||||
{
|
||||
//ConsoleWindow.Trace("ConsoleWindow.Trace(), ageInDays = " + ageInDays);
|
||||
var curDate:Date = new Date();
|
||||
var yearFromNow:Number = Math.floor(ageInDays / 365);
|
||||
ageInDays = ageInDays % 365;
|
||||
var month:Number = curDate.getMonth();
|
||||
var date:Number = curDate.getDate();
|
||||
for ( var i:Number = 0; i < 12; i++ )
|
||||
{
|
||||
trace("Age in days = " + ageInDays);
|
||||
if( ageInDays >= date )
|
||||
{
|
||||
month--;
|
||||
if( month < 0 )
|
||||
{
|
||||
month = 11;
|
||||
yearFromNow++;
|
||||
}
|
||||
|
||||
ageInDays -= RegisterAccountScreen.MonthDays[month];
|
||||
}
|
||||
else
|
||||
{
|
||||
date = date - ageInDays;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
object.year = curDate.getFullYear() - yearFromNow;
|
||||
object.month = month + 1;
|
||||
object.date = date;
|
||||
|
||||
//ConsoleWindow.Trace("year = " + year + ", month = " + month + ", date = " + date);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,38 @@
|
||||
import gfx.controls.Button;
|
||||
|
||||
class ConsoleWindow extends MovieClip
|
||||
{
|
||||
static private var mSingleInstance:ConsoleWindow;
|
||||
private var mcButton:Button;
|
||||
private var tfWindow:TextField;
|
||||
|
||||
public function ConsoleWindow()
|
||||
{
|
||||
mSingleInstance = this;
|
||||
|
||||
onLoad = OnFinishedLoading;
|
||||
}
|
||||
|
||||
public function OnFinishedLoading():Void
|
||||
{
|
||||
mcButton.addEventListener( "click", this, "ToggleWindow" );
|
||||
tfWindow._visible = false;
|
||||
}
|
||||
|
||||
public function ToggleWindow():Void
|
||||
{
|
||||
tfWindow._visible = !tfWindow._visible;
|
||||
}
|
||||
|
||||
public static function Trace( text:String ):Void
|
||||
{
|
||||
mSingleInstance.tfWindow.text += "\n" + text;
|
||||
trace(text);
|
||||
}
|
||||
|
||||
public static function get Instance():ConsoleWindow
|
||||
{
|
||||
return mSingleInstance;
|
||||
}
|
||||
|
||||
}
|
||||
177
Samples/Lobby2ClientGFx3.0/Resources/Classes/LobbyInterface.as
Normal file
@ -0,0 +1,177 @@
|
||||
import flash.external.*;
|
||||
|
||||
class LobbyInterface extends MovieClip
|
||||
{
|
||||
private static var mSingletonInstance:LobbyInterface;
|
||||
|
||||
private var mScreens:Array;
|
||||
private var mCurScreenID:Number;
|
||||
private var mLastScreenID:Number;
|
||||
private var mScreensRegistered:Number;
|
||||
private var mIsLoggedIn:Boolean;
|
||||
private var mScreenTabManager:ScreenTabManager;
|
||||
private var mcNavigationPanel:NavigationMenu;
|
||||
|
||||
private var mFlashMode:Boolean = false;
|
||||
|
||||
//====================================================
|
||||
//User data
|
||||
private var mProfileImageIndex:Number;
|
||||
private var mAccountInfo:AccountInfo;
|
||||
|
||||
public function LobbyInterface()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing LobbyInterface");
|
||||
|
||||
mSingletonInstance = this;
|
||||
mScreens = new Array();
|
||||
mCurScreenID = 0;
|
||||
mScreensRegistered = 0;
|
||||
mProfileImageIndex = 1; //TODO: get this from c++
|
||||
|
||||
mScreenTabManager = new ScreenTabManager();
|
||||
|
||||
onLoad = Initialize;
|
||||
}
|
||||
|
||||
//All screens should be constructed by now, but not neccessarily loaded
|
||||
public function Initialize():Boolean
|
||||
{
|
||||
ConsoleWindow.Trace("LobbyInterface.Initialize()....");
|
||||
mAccountInfo = new AccountInfo();
|
||||
|
||||
ExternalInterface.addCallback("c2f_NotifyConnectionLost", this, c2f_NotifyConnectionLost);
|
||||
ExternalInterface.addCallback("c2f_GetAccountDetailsResult", mAccountInfo, ServerSetAccountInfo);
|
||||
return true;
|
||||
}
|
||||
|
||||
public function blah():Void
|
||||
{
|
||||
ConsoleWindow.Trace("blah..");
|
||||
}
|
||||
|
||||
public static function get Instance():LobbyInterface
|
||||
{
|
||||
return mSingletonInstance;
|
||||
}
|
||||
|
||||
public function GetCurrentScreen():Screen
|
||||
{
|
||||
return mScreens[mCurScreenID];
|
||||
}
|
||||
|
||||
public function GetScreen( _screenID:Number ):Screen
|
||||
{
|
||||
return mScreens[_screenID];
|
||||
}
|
||||
|
||||
//TODO: get this from c++
|
||||
//player might get to a page that has a profile image before seeing this screen so we have to make sure this is loaded from c++ first
|
||||
public function GetProfileImageIndex():Number
|
||||
{
|
||||
return mProfileImageIndex;
|
||||
}
|
||||
|
||||
public function GetUsername():String
|
||||
{
|
||||
if ( mIsLoggedIn )
|
||||
{
|
||||
return mScreens[ScreenID.LOGIN].GetUsername();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public function SetLoginState( _state:Boolean ):Void
|
||||
{
|
||||
if ( mIsLoggedIn != _state )
|
||||
{
|
||||
mIsLoggedIn = _state;
|
||||
|
||||
if ( mIsLoggedIn )
|
||||
{
|
||||
mcNavigationPanel.OnPlayerLoggedIn();
|
||||
}
|
||||
else
|
||||
{
|
||||
mcNavigationPanel.OnPlayerLoggedOut();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function IsLoggedIn():Boolean
|
||||
{
|
||||
return mIsLoggedIn;
|
||||
}
|
||||
|
||||
public function RegisterScreen( _screenID:Number, _screen ):Void
|
||||
{
|
||||
mScreens[_screenID] = _screen;
|
||||
mScreensRegistered++;
|
||||
//trace("Registering screen: " + this[ ScreenID.GetScreenName(_screenID) ] );
|
||||
ConsoleWindow.Trace("Registering screen: " + mScreens[_screenID] );
|
||||
|
||||
//All screens are done loading
|
||||
if ( mScreensRegistered == ScreenID.TOTAL_SCREENS )
|
||||
{
|
||||
ConsoleWindow.Trace( "Finished registering all " + mScreensRegistered + " screens!" );
|
||||
|
||||
ShowScreen( ScreenID.CONNECTION );
|
||||
//GetCurrentScreen()["f2c_Connect"]();
|
||||
}
|
||||
}
|
||||
|
||||
public function ShowScreen( _id:Number ):Void
|
||||
{
|
||||
//mScreens[mCurScreenID].Hide();
|
||||
|
||||
mScreenTabManager.ShowScreen( _id );
|
||||
|
||||
mLastScreenID = mCurScreenID;
|
||||
mCurScreenID = _id;
|
||||
//mScreens[mCurScreenID].Show();
|
||||
}
|
||||
|
||||
public function GetLastScreenId():Number
|
||||
{
|
||||
return mLastScreenID;
|
||||
}
|
||||
|
||||
public function ShowLastScreen():Void
|
||||
{
|
||||
ShowScreen( mLastScreenID );
|
||||
}
|
||||
|
||||
public function CreateMessageBox( message:String, callback:Function ):Void
|
||||
{
|
||||
var messageBox = attachMovie("MessageBox", "MessageBox" + getNextHighestDepth(), getNextHighestDepth() );
|
||||
messageBox.SetMessage( message, callback );
|
||||
}
|
||||
|
||||
public function IsInFlashMode():Boolean { return mFlashMode; }
|
||||
|
||||
//===============================================================================================================================
|
||||
//Functions called by C++
|
||||
public function c2f_NotifyConnectionLost(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "LCR_CLOSED_BY_USER":
|
||||
// Programmer closed the connection to the server intentionally
|
||||
break;
|
||||
case "LCR_DISCONNECTION_NOTIFICATION":
|
||||
// Server disconnected us intentionally
|
||||
break;
|
||||
case "LCR_CONNECTION_LOST":
|
||||
// Lost connection to the server
|
||||
break;
|
||||
}
|
||||
|
||||
// If the user is in any state where you have to be connected (anything other than Disconnected and ConnectingToServer)
|
||||
// And you get this callback, then show an error dialog, immediately leave whatever screen they are on once they click ok,
|
||||
// and go to the disconnected state
|
||||
//gotoAndStop("Disconnected");
|
||||
ShowScreen(ScreenID.CONNECTION);
|
||||
}
|
||||
}
|
||||
178
Samples/Lobby2ClientGFx3.0/Resources/Classes/Mail.as
Normal file
@ -0,0 +1,178 @@
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.Button;
|
||||
import mx.utils.Delegate;
|
||||
import gfx.controls.TextArea;
|
||||
import gfx.controls.CheckBox;
|
||||
|
||||
class Mail extends MovieClip
|
||||
{
|
||||
public static var cMode1:Number = 1;
|
||||
public static var cMode2:Number = 2;
|
||||
//only in mail1 mode
|
||||
private var tfTo:TextField; //this is the one that says "TO:" we need access because we change it to "FROM:" for receiving mails
|
||||
private var tiTo:TextInput; //this is the actual field we display who the mail is address to
|
||||
|
||||
//only in mail2 mode
|
||||
private var mcProfileImage:MovieClip;
|
||||
private var tfUsername:TextField;
|
||||
|
||||
//shared
|
||||
private var tfTitle:TextField;
|
||||
private var tiSubject:TextInput;
|
||||
private var taMessage:TextArea;
|
||||
private var btnButton1:Button;
|
||||
private var btnButton2:Button;
|
||||
private var btnButton3:Button;
|
||||
|
||||
private var callbackBtn1:Function;
|
||||
private var callbackBtn2:Function;
|
||||
private var callbackBtn3:Function;
|
||||
|
||||
private var mCheckBox:CheckBox;
|
||||
|
||||
public function Mail()
|
||||
{
|
||||
mCheckBox._visible = false;
|
||||
}
|
||||
|
||||
public function SetMode( mode:Number ):Void
|
||||
{
|
||||
switch( mode )
|
||||
{
|
||||
case cMode1:
|
||||
gotoAndStop("Mail1");
|
||||
break;
|
||||
|
||||
case cMode2:
|
||||
gotoAndStop("Mail2");
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public function onLoad():Void
|
||||
{
|
||||
btnButton1.addEventListener("click", this, "OnClickedButton1");
|
||||
btnButton2.addEventListener("click", this, "OnClickedButton2");
|
||||
btnButton3.addEventListener("click", this, "OnClickedButton3");
|
||||
btnButton1.visible = false;
|
||||
btnButton2.visible = false;
|
||||
btnButton3.visible = false;
|
||||
}
|
||||
|
||||
public function HideButton( index:Number ):Void
|
||||
{
|
||||
this["btnButton" + index]._visible = false;
|
||||
}
|
||||
|
||||
public function Clear():Void
|
||||
{
|
||||
tfTitle.text = "";
|
||||
tiTo.text = "";
|
||||
tiTo.disabled = false;
|
||||
tiSubject.disabled = false;
|
||||
tiSubject.text = "";
|
||||
taMessage.text = "";
|
||||
taMessage.disabled = false;
|
||||
mCheckBox._visible = false;
|
||||
btnButton1.visible = false;
|
||||
btnButton2.visible = false;
|
||||
btnButton3.visible = false;
|
||||
}
|
||||
|
||||
public function SetTitle( _title:String ):Void
|
||||
{
|
||||
tfTitle.text = _title;
|
||||
}
|
||||
|
||||
public function SetButton( _index:Number, _label:String, _callback:Function ):Void
|
||||
{
|
||||
this["btnButton" + _index].label = _label;
|
||||
this["callbackBtn" + _index] = _callback;
|
||||
this["btnButton" + _index].visible = true;
|
||||
}
|
||||
|
||||
public function SetToDisplayText( text:String ):Void
|
||||
{
|
||||
tfTo.text = text;
|
||||
}
|
||||
|
||||
public function SetToField( _username:String ):Void
|
||||
{
|
||||
tiTo.text = _username;
|
||||
}
|
||||
|
||||
public function DisableToField():Void
|
||||
{
|
||||
tiTo.disabled = true;
|
||||
}
|
||||
|
||||
public function SetUsername( _username:String ):Void
|
||||
{
|
||||
tfUsername.text = _username;
|
||||
}
|
||||
|
||||
public function GetToField():String
|
||||
{
|
||||
return tiTo.text;
|
||||
}
|
||||
|
||||
public function GetSubjectField():String
|
||||
{
|
||||
return tiSubject.text;
|
||||
}
|
||||
|
||||
public function SetSubjectField( subject:String ):Void
|
||||
{
|
||||
tiSubject.text = subject;
|
||||
}
|
||||
|
||||
public function DisableSubjectField():Void
|
||||
{
|
||||
tiSubject.disabled = true;
|
||||
}
|
||||
|
||||
public function GetMsgField():String
|
||||
{
|
||||
return taMessage.text;
|
||||
}
|
||||
|
||||
public function SetMsgField( msg:String ):Void
|
||||
{
|
||||
taMessage.text = msg;
|
||||
}
|
||||
|
||||
public function DisableMsgField():Void
|
||||
{
|
||||
taMessage.disabled = true;
|
||||
}
|
||||
|
||||
public function OnClickedButton1():Void
|
||||
{
|
||||
callbackBtn1.call();
|
||||
}
|
||||
|
||||
public function OnClickedButton2():Void
|
||||
{
|
||||
callbackBtn2.call();
|
||||
}
|
||||
|
||||
public function OnClickedButton3():Void
|
||||
{
|
||||
callbackBtn3.call();
|
||||
}
|
||||
|
||||
public function SetCheckBox( text:String ):Void
|
||||
{
|
||||
mCheckBox.label = text;
|
||||
mCheckBox._visible = true;
|
||||
}
|
||||
|
||||
public function IsCheckBoxOn():Boolean
|
||||
{
|
||||
return mCheckBox.selected;
|
||||
}
|
||||
}
|
||||
37
Samples/Lobby2ClientGFx3.0/Resources/Classes/MessageBox.as
Normal file
@ -0,0 +1,37 @@
|
||||
import gfx.controls.Button;
|
||||
import mx.utils.Delegate;
|
||||
import flash.external.*;
|
||||
|
||||
class MessageBox extends MovieClip
|
||||
{
|
||||
private var tfMessage:TextField;
|
||||
private var btnOK:Button;
|
||||
private var mCallback:Function;
|
||||
|
||||
public function MessageBox()
|
||||
{
|
||||
_visible = false;
|
||||
}
|
||||
|
||||
public function onLoad():Void
|
||||
{
|
||||
btnOK.addEventListener("click", this, "OnClickOK");
|
||||
}
|
||||
|
||||
public function SetMessage( message:String, callback:Function ):Void
|
||||
{
|
||||
tfMessage.text = message;
|
||||
mCallback = callback;
|
||||
_visible = true;
|
||||
}
|
||||
|
||||
public function OnClickOK():Void
|
||||
{
|
||||
if ( mCallback )
|
||||
{
|
||||
mCallback.call();
|
||||
}
|
||||
|
||||
this.removeMovieClip();
|
||||
}
|
||||
}
|
||||
154
Samples/Lobby2ClientGFx3.0/Resources/Classes/NavigationMenu.as
Normal file
@ -0,0 +1,154 @@
|
||||
|
||||
import gfx.controls.Button;
|
||||
import mx.transitions.easing.None;
|
||||
import mx.transitions.Tween;
|
||||
|
||||
|
||||
class NavigationMenu extends MovieClip
|
||||
{
|
||||
private var mcLogIn:Button;
|
||||
private var mcLogOut:Button;
|
||||
private var mcProfile:Button;
|
||||
private var mcFriends:Button;
|
||||
private var mcEmail:Button;
|
||||
private var mcClan:Button;
|
||||
private var mcExit:Button;
|
||||
|
||||
private var mButtonAnimCt:Number;
|
||||
private var mButtons:Array; //store buttons in array for sequencial animation
|
||||
|
||||
public function NavigationMenu()
|
||||
{
|
||||
mButtons = new Array;
|
||||
}
|
||||
|
||||
public function onLoad()
|
||||
{
|
||||
mcLogIn.addEventListener("click", this, "OnClickedLogInButton");
|
||||
mcLogOut.addEventListener("click", this, "OnClickedLogoutButton");
|
||||
mcProfile.addEventListener("click", this, "OnClickedProfileButton");
|
||||
mcFriends.addEventListener("click", this, "OnClickedFriendsButton");
|
||||
mcEmail.addEventListener("click", this, "OnClickedEmailButton");
|
||||
mcClan.addEventListener("click", this, "OnClickedClanButton");
|
||||
mcExit.addEventListener("click", this, "OnClickedExitButton");
|
||||
|
||||
mButtons.push( mcLogOut );
|
||||
mButtons.push( mcProfile );
|
||||
mButtons.push( mcFriends );
|
||||
mButtons.push( mcEmail );
|
||||
mButtons.push( mcClan );
|
||||
mButtons.push( mcExit );
|
||||
OnPlayerLoggedOut();
|
||||
}
|
||||
|
||||
public function OnClickedLogInButton():Void
|
||||
{
|
||||
}
|
||||
|
||||
public function OnClickedLogoutButton():Void
|
||||
{
|
||||
if ( LobbyInterface.Instance.IsLoggedIn() )
|
||||
{
|
||||
LobbyInterface.Instance.GetScreen(ScreenID.LOGGED_IN)["f2c_Logoff"]();
|
||||
}
|
||||
}
|
||||
|
||||
public function OnClickedProfileButton():Void
|
||||
{
|
||||
if ( LobbyInterface.Instance.IsLoggedIn() )
|
||||
{
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.PROFILE );
|
||||
}
|
||||
}
|
||||
|
||||
public function OnClickedFriendsButton():Void
|
||||
{
|
||||
if ( LobbyInterface.Instance.IsLoggedIn() )
|
||||
{
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.FRIENDS );
|
||||
}
|
||||
}
|
||||
|
||||
public function OnClickedEmailButton():Void
|
||||
{
|
||||
if ( LobbyInterface.Instance.IsLoggedIn() )
|
||||
{
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.EMAIL );
|
||||
}
|
||||
}
|
||||
|
||||
public function OnClickedClanButton():Void
|
||||
{
|
||||
if ( LobbyInterface.Instance.IsLoggedIn() )
|
||||
{
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.CLAN_ROOT );
|
||||
}
|
||||
}
|
||||
|
||||
public function OnClickedExitButton():Void
|
||||
{
|
||||
if ( LobbyInterface.Instance.IsLoggedIn() )
|
||||
{
|
||||
LobbyInterface.Instance.GetScreen(ScreenID.LOGGED_IN)["f2c_Logoff"]();
|
||||
}
|
||||
}
|
||||
|
||||
private var mLastTime:Number;
|
||||
public function OnPlayerLoggedIn():Void
|
||||
{
|
||||
mButtonAnimCt = 0;
|
||||
onEnterFrame = PlayIntroAnimation;
|
||||
mLastTime = getTimer();
|
||||
/*
|
||||
mcLogIn.visible = false;
|
||||
mcLogOut.visible = true;
|
||||
mcProfile.visible = true;
|
||||
mcFriends.visible = true;
|
||||
mcClan.visible = true;
|
||||
mcEmail.visible = true;
|
||||
mcFriends.visible = true;
|
||||
mcExit.visible = true; */
|
||||
PlayIntroAnimation();
|
||||
}
|
||||
|
||||
public function PlayIntroAnimation():Void
|
||||
{
|
||||
var now:Number = getTimer();
|
||||
var delta:Number = now - mLastTime;
|
||||
if ( delta > 100 )
|
||||
{
|
||||
mLastTime = now;
|
||||
//mButtons[mButtonAnimCt]._visible = true;
|
||||
new Tween( mButtons[mButtonAnimCt], "_alpha", None.easeNone, 0, 100, .5, true );
|
||||
// new Tween( this, "_alpha", None.easeNone, 0, 100, .5, true );
|
||||
mButtonAnimCt++;
|
||||
if ( mButtonAnimCt >= mButtons.length )
|
||||
{
|
||||
onEnterFrame = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function OnPlayerLoggedOut():Void
|
||||
{
|
||||
/*mcLogOut._alpha = 0;
|
||||
mcProfile._alpha = 0;
|
||||
mcFriends._alpha = 0;
|
||||
mcClan._alpha = 0;
|
||||
mcEmail._alpha = 0;
|
||||
mcFriends._alpha = 0;
|
||||
mcExit._alpha = 0;*/
|
||||
for ( var i:Number = 0; i < mButtons.length; i++ )
|
||||
{
|
||||
new Tween( mButtons[i], "_alpha", None.easeNone, 100, 0, .4, true );
|
||||
}
|
||||
/* mcLogIn._alpha = true;
|
||||
mcLogOut.visible = false;
|
||||
mcProfile.visible = false;
|
||||
mcFriends.visible = false;
|
||||
mcClan.visible = false;
|
||||
mcEmail.visible = false;
|
||||
mcFriends.visible = false;
|
||||
mcExit.visible = false;*/
|
||||
}
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
120
Samples/Lobby2ClientGFx3.0/Resources/Classes/Screen.as
Normal file
@ -0,0 +1,120 @@
|
||||
/*
|
||||
* Screen - base screen class. Many screen classes will derive from this
|
||||
* Note: V before the function names stand for virtual, these functions are intended to be overwritten by children if needed
|
||||
*
|
||||
*/
|
||||
import mx.transitions.easing.None;
|
||||
import mx.transitions.Tween;
|
||||
|
||||
class Screen extends MovieClip
|
||||
{
|
||||
private var mScreenId:Number;
|
||||
private var mScreenTabId:Number;
|
||||
private var mIsLoaded:Boolean;
|
||||
|
||||
public function Screen()
|
||||
{
|
||||
_alpha = 0;
|
||||
_x = -1000;
|
||||
ConsoleWindow.Trace("Constructing Screen");
|
||||
mScreenId = -1;
|
||||
mIsLoaded = false;
|
||||
|
||||
onLoad = VOnFinishedLoading;
|
||||
}
|
||||
|
||||
public function VInitialize():Boolean
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
//Child class should still call this even if it needs to define its own VOnFinishedLoading func
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
mIsLoaded = true;
|
||||
|
||||
LobbyInterface.Instance.RegisterScreen( mScreenId, this );
|
||||
}
|
||||
|
||||
public function IsLoaded():Boolean
|
||||
{
|
||||
return mIsLoaded;
|
||||
}
|
||||
|
||||
public function Show( bDoTween:Boolean, tweenFrom:Number, tweenTo:Number ):Void
|
||||
{
|
||||
ConsoleWindow.Trace("Showing " + this);
|
||||
if ( bDoTween )
|
||||
{
|
||||
new Tween( this, "_x", None.easeNone, tweenFrom, 0, .5, true );
|
||||
new Tween( this, "_alpha", None.easeNone, 0, 100, .5, true );
|
||||
}
|
||||
else
|
||||
{
|
||||
_x = 0;
|
||||
_alpha = 100;
|
||||
}
|
||||
|
||||
OnShow();
|
||||
}
|
||||
|
||||
public function OnShow():Void
|
||||
{
|
||||
}
|
||||
|
||||
public function Hide( bDoTween:Boolean, tweenTo:Number ):Void
|
||||
{
|
||||
ConsoleWindow.Trace("Hiding " + this);
|
||||
if ( bDoTween )
|
||||
{
|
||||
new Tween( this, "_x", None.easeNone, this._x, tweenTo, .5, true );
|
||||
new Tween( this, "_alpha", None.easeNone, 100, 0, .5, true );
|
||||
}
|
||||
else
|
||||
{
|
||||
this._x = -1000;// tweenTo;
|
||||
this._alpha = 0;
|
||||
}
|
||||
OnHide();
|
||||
}
|
||||
|
||||
public function OnHide():Void
|
||||
{
|
||||
}
|
||||
|
||||
public function GetScreenTabId():Number
|
||||
{
|
||||
return mScreenTabId;
|
||||
}
|
||||
|
||||
public function GetScreenId():Number
|
||||
{
|
||||
return mScreenId;
|
||||
}
|
||||
|
||||
public function CleanUpMoveClipList( list:Array ):Void
|
||||
{
|
||||
var length:Number = list.length;
|
||||
for ( var i:Number = 0; i < length; i++ )
|
||||
{
|
||||
var mc:MovieClip = list[i];
|
||||
//ConsoleWindow.Trace("Removing mc: " + mc);
|
||||
mc.removeMovieClip();
|
||||
}
|
||||
}
|
||||
|
||||
public static function GetIndexFromElement( element, array ):Number
|
||||
{
|
||||
var length:Number = array.length;
|
||||
for ( var i:Number = 0; i < length; i++ )
|
||||
{
|
||||
if ( element == array[i] )
|
||||
{
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
ConsoleWindow.Trace("Can't find element: " + element);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
101
Samples/Lobby2ClientGFx3.0/Resources/Classes/ScreenID.as
Normal file
@ -0,0 +1,101 @@
|
||||
|
||||
class ScreenID
|
||||
{
|
||||
public static var INVALID_ID:Number = -1;
|
||||
|
||||
public static var BLOCK_LIST:Number = 0;
|
||||
public static var CLAN_ROOT:Number = 1;
|
||||
public static var CLAN_EMAIL:Number = 2;
|
||||
public static var CLAN_GENERAL:Number = 3;
|
||||
public static var CLAN_QUERY:Number = 4;
|
||||
public static var CONNECTING_TO_SERVER:Number = 5;
|
||||
public static var CONNECTION:Number = 6;
|
||||
public static var EMAIL:Number = 7;
|
||||
public static var ENTER_CD_KEY:Number = 8;
|
||||
public static var FRIENDS:Number = 9;
|
||||
public static var POSSIBLE_FRIENDS:Number = 10;
|
||||
public static var LOGGING_IN:Number = 11;
|
||||
public static var LOGIN:Number = 12;
|
||||
public static var LOGGED_IN:Number = 13;
|
||||
public static var RECOVER_PASSWORD:Number = 14;
|
||||
public static var REGISTER_ACCOUNT_PERSONAL:Number = 15;
|
||||
public static var REGISTER_ACCOUNT_BILLING:Number = 16;
|
||||
public static var REGISTER_ACCOUNT_LOGIN:Number = 17;
|
||||
public static var UPDATE_ACCOUNT:Number = 18;
|
||||
public static var PROFILE:Number = 19;
|
||||
public static var CHANGE_PHOTO:Number = 20;
|
||||
public static var CLAN_CREATE:Number = 21;
|
||||
public static var CLAN_INVITED_REQUESTED:Number = 22;
|
||||
public static var CLAN_MY_CLANS:Number = 23;
|
||||
public static var CLAN_BLOCK_LIST:Number = 24;
|
||||
|
||||
public static var TOTAL_SCREENS:Number = 25;
|
||||
|
||||
//Used as screen instance names
|
||||
/*public static function GetScreenName( id:Number ):String
|
||||
{
|
||||
switch( id )
|
||||
{
|
||||
case BLOCK_LIST:
|
||||
return "mcBlockListScreen";
|
||||
|
||||
case CLAN_ROOT:
|
||||
return "mcClanRootScreen";
|
||||
|
||||
case CLAN_EMAIL:
|
||||
return "mcClanEmailScreen";
|
||||
|
||||
case CLAN_GENERAL:
|
||||
return "mcClanGeneralScreen";
|
||||
|
||||
case CLAN_QUERY:
|
||||
return "mcClanQueryScreen";
|
||||
|
||||
case CONNECTING_TO_SERVER:
|
||||
return "mcConnectingToServerScreen";
|
||||
|
||||
case CONNECTION:
|
||||
return "mcConnectionScreen";
|
||||
|
||||
case EMAIL:
|
||||
return "mcEmailScreen";
|
||||
|
||||
case ENTER_CD_KEY:
|
||||
return "mcEnterCDKeyScreen";
|
||||
|
||||
case FRIENDS:
|
||||
return "mcFriendScreen";
|
||||
|
||||
case LOGGING_IN:
|
||||
return "mcLoggingInScreen";
|
||||
|
||||
case LOGIN:
|
||||
return "mcLoginScreen";
|
||||
|
||||
case LOGGED_IN:
|
||||
return "mcLoggedInScreen";
|
||||
|
||||
case RECOVER_PASSWORD:
|
||||
return "mcRecoverPasswordScreen";
|
||||
|
||||
case REGISTER_ACCOUNT_PERSONAL:
|
||||
return "mcRegisterAccountScreen";
|
||||
|
||||
case REGISTER_ACCOUNT_BILLING:
|
||||
return "mcRegisterAccountScreen2";
|
||||
|
||||
case REGISTER_ACCOUNT_LOGIN:
|
||||
return "mcRegisterAccountScreen3";
|
||||
|
||||
case UPDATE_ACCOUNT:
|
||||
return "mcUpdateAccountScreen";
|
||||
|
||||
case PROFILE:
|
||||
return "mcProfileScreen";
|
||||
|
||||
default:
|
||||
ConsoleWindow("ERROR!! INVALID SCREEN ID: " + id);
|
||||
return null;
|
||||
}
|
||||
}*/
|
||||
}
|
||||
81
Samples/Lobby2ClientGFx3.0/Resources/Classes/ScreenTab.as
Normal file
@ -0,0 +1,81 @@
|
||||
/**
|
||||
* October 20, 2009
|
||||
* @author Dezhu Chen
|
||||
*/
|
||||
|
||||
class ScreenTab extends MovieClip
|
||||
{
|
||||
// Public Properties that are set from the FLA file
|
||||
[Inspectable(type="Number")]
|
||||
public var tabID:Number;
|
||||
|
||||
[Inspectable(type="Boolean")]
|
||||
public var isHiddenByDefault:Boolean;
|
||||
|
||||
private var mcLabel:MovieClip;
|
||||
private var mStartingPosX:Number;
|
||||
public static var cExtendedPosX:Number = -100;
|
||||
|
||||
//DO NOT Change these, they're being referenced in the FLA
|
||||
public static var ID_INVALID:Number = 0;
|
||||
public static var ID_LOGIN:Number = 0;
|
||||
public static var ID_PROFILE:Number = 1;
|
||||
public static var ID_FRIENDS:Number = 2;
|
||||
public static var ID_EMAIL:Number = 3;
|
||||
public static var ID_CLANS:Number = 4;
|
||||
public static var ID_CONNECTION:Number = 5;
|
||||
public static var ID_CD_KEY:Number = 6;
|
||||
public static var ID_REGISTRATION:Number = 7;
|
||||
|
||||
public function ScreenTab()
|
||||
{
|
||||
_visible = !isHiddenByDefault;
|
||||
mStartingPosX = _x;
|
||||
|
||||
mcLabel.tfTabName.text = GetTabName( tabID );
|
||||
|
||||
var timerformat:TextFormat = new TextFormat();
|
||||
timerformat.letterSpacing = 4;
|
||||
mcLabel.tfTabName.setTextFormat(timerformat);
|
||||
//ConsoleWindow.Trace("mcLabel.tfTabName = " + mcLabel.tfTabName);
|
||||
//ConsoleWindow.Trace("letter spacing = " + mcLabel.tfTabName.getTextFormat().letterSpacing);
|
||||
|
||||
|
||||
ScreenTabManager.Instance.AddScreenTab( this );
|
||||
}
|
||||
|
||||
public function GetStartingPos():Number
|
||||
{
|
||||
return mStartingPosX;
|
||||
}
|
||||
|
||||
public function GetTabName( _tabID:Number ):String
|
||||
{
|
||||
switch( _tabID )
|
||||
{
|
||||
case ID_LOGIN:
|
||||
return "LOGIN";
|
||||
|
||||
case ID_PROFILE:
|
||||
return "PROFILE";
|
||||
|
||||
case ID_FRIENDS:
|
||||
return "FRIENDS";
|
||||
|
||||
case ID_EMAIL:
|
||||
return "EMAIL";
|
||||
|
||||
case ID_CLANS:
|
||||
return "CLAN";
|
||||
|
||||
case ID_CONNECTION:
|
||||
return "CONNECTION";
|
||||
|
||||
case ID_CD_KEY:
|
||||
return "CD KEY";
|
||||
|
||||
case ID_REGISTRATION:
|
||||
return "REGISTRATION";
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,56 @@
|
||||
/**
|
||||
* October 21, 2009
|
||||
* @author Dezhu Chen
|
||||
*/
|
||||
|
||||
import mx.transitions.easing.None;
|
||||
import mx.transitions.Tween;
|
||||
|
||||
class ScreenTabManager
|
||||
{
|
||||
private static var mSingletonInstance:ScreenTabManager;
|
||||
|
||||
private var mScreenTabs:Array;
|
||||
|
||||
public function ScreenTabManager()
|
||||
{
|
||||
mSingletonInstance = this;
|
||||
|
||||
mScreenTabs = new Array();
|
||||
}
|
||||
|
||||
public static function get Instance():ScreenTabManager
|
||||
{
|
||||
return mSingletonInstance;
|
||||
}
|
||||
|
||||
public function AddScreenTab( tab:ScreenTab ):Void
|
||||
{
|
||||
mScreenTabs[tab.tabID] = tab;
|
||||
}
|
||||
|
||||
public function ShowScreen( _newScreenId:Number ):Void
|
||||
{
|
||||
var curScreen:Screen = LobbyInterface.Instance.GetCurrentScreen();
|
||||
var newScreen:Screen = LobbyInterface.Instance.GetScreen( _newScreenId );
|
||||
|
||||
var curTab:ScreenTab = mScreenTabs[curScreen.GetScreenTabId()];
|
||||
var newTab:ScreenTab = mScreenTabs[newScreen.GetScreenTabId()];
|
||||
|
||||
if ( curTab != newTab )
|
||||
{
|
||||
newTab._visible = true;
|
||||
ConsoleWindow.Trace("Hiding " + curTab.tabID + ", showing " + newTab.tabID);
|
||||
|
||||
new Tween( curTab, "_x", None.easeNone, curTab._x, curTab.GetStartingPos(), .5, true );
|
||||
curScreen.Hide( true, curTab.GetStartingPos() );
|
||||
new Tween( newTab, "_x", None.easeNone, newTab._x, ScreenTab.cExtendedPosX, .5, true );
|
||||
newScreen.Show( true, newTab._x, ScreenTab.cExtendedPosX );
|
||||
}
|
||||
else if ( curScreen.GetScreenId != _newScreenId )
|
||||
{
|
||||
curScreen.Hide( false, curTab.GetStartingPos() );
|
||||
newScreen.Show( false );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,272 @@
|
||||
import mx.utils.Delegate;
|
||||
import mx.transitions.easing.None;
|
||||
import mx.transitions.Tween;
|
||||
|
||||
// This is an abstract class, and should be extended.
|
||||
// It only has common functions that can be shared among screens with page navigation functionality
|
||||
// The extended class still has to setup the list array properly and calling these functions at the right places
|
||||
class ScreenWithPageNavigator extends Screen
|
||||
{
|
||||
private var mcPageNavigator:PageNavigator;
|
||||
private var mCurrentPage:Number;
|
||||
private var mMovieClipList:Array;
|
||||
private var mEntriesPerPage:Number = 10;
|
||||
private var mFirstEntryX:Number;
|
||||
private var mFirstEntryY:Number;
|
||||
private var mDeltaY:Number;
|
||||
|
||||
public function ScreenWithPageNavigator()
|
||||
{
|
||||
mCurrentPage = 0;
|
||||
mScreenId = ScreenID.INVALID_ID;
|
||||
mScreenTabId = ScreenTab.ID_INVALID;
|
||||
mMovieClipList = new Array();
|
||||
|
||||
//extended class should reset these to different values in the constructor
|
||||
mFirstEntryX = 0;
|
||||
mFirstEntryY = 0;
|
||||
mDeltaY = 0;
|
||||
}
|
||||
|
||||
public function OnShow():Void
|
||||
{
|
||||
mcPageNavigator._x = 611;
|
||||
mcPageNavigator.AddCallbacks( Delegate.create( this, NextPage ), Delegate.create( this, PreviousPage ) );
|
||||
}
|
||||
|
||||
public function OnMoveClipListUpdated():Void
|
||||
{
|
||||
mcPageNavigator.SetTotalPages( Math.ceil( mMovieClipList.length / mEntriesPerPage ) );
|
||||
}
|
||||
|
||||
public function GoToPage( _page ):Void
|
||||
{
|
||||
mcPageNavigator.GoToPage( _page );
|
||||
}
|
||||
|
||||
public function NextPage():Void
|
||||
{
|
||||
ShowPage( mCurrentPage + 1);
|
||||
}
|
||||
|
||||
public function PreviousPage():Void
|
||||
{
|
||||
ShowPage( mCurrentPage - 1 );
|
||||
}
|
||||
|
||||
public function ShowPage( _page:Number ):Void
|
||||
{
|
||||
if ( ( _page - 1 ) * mEntriesPerPage <= mMovieClipList.length && _page != mCurrentPage )
|
||||
{
|
||||
if ( mCurrentPage > 0 )
|
||||
{
|
||||
HidePage( mCurrentPage );
|
||||
mCurrentPage = _page;
|
||||
}
|
||||
else
|
||||
{
|
||||
ConsoleWindow.Trace("Showing page " + _page);
|
||||
mCurrentPage = _page;
|
||||
TogglePageVisibility( mCurrentPage, true );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function HidePage( _page:Number ):Void
|
||||
{
|
||||
if ( ( _page-1 ) * mEntriesPerPage <= mMovieClipList.length )
|
||||
{
|
||||
ConsoleWindow.Trace("Hiding page " + _page);
|
||||
TogglePageVisibility( _page, false );
|
||||
}
|
||||
}
|
||||
|
||||
private function RefreshPage():Void
|
||||
{
|
||||
//TogglePageVisibility( mCurrentPage, true );
|
||||
InstantShowPage();
|
||||
}
|
||||
|
||||
private function InstantShowPage():Void
|
||||
{
|
||||
var startIndex:Number = mCurrentPage * mEntriesPerPage - ( mEntriesPerPage );
|
||||
var endIndex:Number = startIndex + mEntriesPerPage;
|
||||
|
||||
for ( var i:Number = 0; i < mEntriesPerPage; i++ )
|
||||
{
|
||||
var mcEntry:MovieClip = mMovieClipList[startIndex+i];
|
||||
if ( !mcEntry )
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
mcEntry._visible = true;
|
||||
mcEntry._x = mFirstEntryX;
|
||||
mcEntry._y = mFirstEntryY + (i) * (mcEntry._height + mDeltaY);
|
||||
OnShowMovieClipEntry( mcEntry );
|
||||
}
|
||||
}
|
||||
|
||||
private var mLastTime:Number;
|
||||
private var mCurEntryIndex:Number;
|
||||
private var mFirstEntryIndex:Number;
|
||||
private var mEntryVisibleState:Boolean;
|
||||
private function TogglePageVisibility( _page:Number, _visibleState:Boolean ):Void
|
||||
{
|
||||
mcPageNavigator.Disable();
|
||||
ConsoleWindow.Trace(this + ".TogglePageVisibility()..." + _visibleState);
|
||||
mLastTime = getTimer();
|
||||
|
||||
mFirstEntryIndex = _page * mEntriesPerPage - ( mEntriesPerPage );
|
||||
mEntryVisibleState = _visibleState;
|
||||
|
||||
mCurEntryIndex = 0;
|
||||
onEnterFrame = OnTick;
|
||||
}
|
||||
|
||||
private function OnTick():Void
|
||||
{
|
||||
var now:Number = getTimer();
|
||||
var delta:Number = now - mLastTime;
|
||||
|
||||
//ConsoleWindow.Trace("OnTick, delta = " + delta);
|
||||
//for ( var i:Number = 0; i < mEntriesPerPage; i++ )
|
||||
if( delta > 100 )
|
||||
{
|
||||
ToggleEntryVisibility();
|
||||
mLastTime = now;
|
||||
}
|
||||
}
|
||||
|
||||
private function ToggleEntryVisibility():Void
|
||||
{
|
||||
//ConsoleWindow.Trace(this + ".ToggleEntryVisibility(), mEntryVisibleState = " + mEntryVisibleState);
|
||||
if( mCurEntryIndex < mEntriesPerPage )
|
||||
{
|
||||
var mcEntry:MovieClip = mMovieClipList[mFirstEntryIndex+mCurEntryIndex];
|
||||
if ( !mcEntry )
|
||||
{
|
||||
ConsoleWindow.Trace("Entry not found.");
|
||||
RemoveOnTick();
|
||||
return;
|
||||
}
|
||||
|
||||
mcEntry._visible = true;
|
||||
if ( mEntryVisibleState )
|
||||
{
|
||||
//ConsoleWindow.Trace("Showing entry: " + mcEntry);
|
||||
mcEntry._x = mFirstEntryX;// + 500;
|
||||
mcEntry._y = mFirstEntryY + (mCurEntryIndex) * (mcEntry._height + mDeltaY);
|
||||
//new Tween( mcEntry, "_x", None.easeNone, mFirstEntryX-200, mFirstEntryX, .3, true );
|
||||
new Tween( mcEntry, "_alpha", None.easeNone, 0, 100, .3, true );
|
||||
OnShowMovieClipEntry( mcEntry );
|
||||
}
|
||||
else
|
||||
{
|
||||
var tween_handler:Tween = new Tween( mcEntry, "_alpha", None.easeNone, 100, 0, .3, true );
|
||||
//ConsoleWindow.Trace("Hiding entry: " + mcEntry);
|
||||
//ConsoleWindow.Trace("Hiding tween_handler: " + tween_handler);
|
||||
tween_handler.onMotionFinished = function()
|
||||
{
|
||||
this.obj._visible = false;
|
||||
}
|
||||
//OnHideMovieClipEntry( mcEntry );
|
||||
}
|
||||
|
||||
mCurEntryIndex++;
|
||||
return;
|
||||
}
|
||||
|
||||
RemoveOnTick();
|
||||
}
|
||||
|
||||
public function RemoveOnTick():Void
|
||||
{
|
||||
onEnterFrame = null;
|
||||
if ( !mEntryVisibleState )
|
||||
{
|
||||
ConsoleWindow.Trace("Finished hiding previous page, showing current page: " + mCurrentPage);
|
||||
TogglePageVisibility( mCurrentPage, true );
|
||||
}
|
||||
else
|
||||
{
|
||||
mcPageNavigator.Enable();
|
||||
}
|
||||
}
|
||||
|
||||
//override this in extended class to show/hide specific movieclips within mcEntry
|
||||
private function OnShowMovieClipEntry( mcEntry:MovieClip, index:Number ):Void
|
||||
{
|
||||
mcEntry.mcLine._visible = ( index != 0 );
|
||||
}
|
||||
|
||||
private function OnHideMovieClipEntry( mcEntry:MovieClip ):Void
|
||||
{
|
||||
}
|
||||
|
||||
private function OnFinishedHidingEntry( mcEntry:MovieClip ):Void
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private function RemoveEntryFromList( _entry:MovieClip, _list:Array, bInstantRefresh:Boolean ):Void
|
||||
{
|
||||
var index:Number = -1;
|
||||
var length = mMovieClipList.length;
|
||||
for ( var i:Number = 0; i < length; i++ )
|
||||
{
|
||||
var entry:MovieClip = mMovieClipList[i];
|
||||
//ConsoleWindow.Trace("entry = " + entry);
|
||||
if ( entry == _entry )
|
||||
{
|
||||
index = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ( index >= 0 )
|
||||
{
|
||||
mMovieClipList.splice( index, 1 );
|
||||
_entry.removeMovieClip();
|
||||
|
||||
if ( bInstantRefresh )
|
||||
{
|
||||
InstantShowPage();
|
||||
}
|
||||
else
|
||||
{
|
||||
mFirstEntryIndex = mCurrentPage * mEntriesPerPage - ( mEntriesPerPage );
|
||||
mCurEntryIndex = index - mFirstEntryIndex;
|
||||
ConsoleWindow.Trace("Entry removed. mFirstEntryIndex = " + mFirstEntryIndex + " mCurEntryIndex = " + mCurEntryIndex);
|
||||
for ( var n:Number = mCurEntryIndex; n < mEntriesPerPage; n++ )
|
||||
{
|
||||
var mcEntry:MovieClip = mMovieClipList[mFirstEntryIndex + n];
|
||||
|
||||
if ( n == mEntriesPerPage - 1 )
|
||||
{
|
||||
mcEntry._visible = true;
|
||||
mcEntry._x = mFirstEntryX;
|
||||
mcEntry._y = mFirstEntryY + (n+1) * (mcEntry._height + mDeltaY);
|
||||
new Tween( mcEntry, "_alpha", None.easeNone, 0, 100, .3, true );
|
||||
}
|
||||
|
||||
var targetY:Number = mFirstEntryY + (n) * (mcEntry._height + mDeltaY);
|
||||
new Tween( mcEntry, "_y", None.easeNone, mcEntry._y, targetY, .3, true );
|
||||
}
|
||||
}
|
||||
OnMoveClipListUpdated();
|
||||
}
|
||||
else
|
||||
{
|
||||
ConsoleWindow.Trace("WARNING! RemoveEntryFromList(), can't find the right entry to remove! entry = " + _entry);
|
||||
}
|
||||
|
||||
mFirstEntryIndex = mCurrentPage * mEntriesPerPage - ( mEntriesPerPage );
|
||||
//User deleted all the entries on the current page, manually show previous page
|
||||
if ( mFirstEntryIndex >= mMovieClipList.length && mCurrentPage > 1 )
|
||||
{
|
||||
mcPageNavigator.PreviousPage();
|
||||
}
|
||||
//ConsoleWindow.Trace( " mFirstEntryIndex = " + mFirstEntryIndex + " mMovieClipList.length = " + mMovieClipList.length);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,225 @@
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.Button;
|
||||
import gfx.controls.ScrollBar;
|
||||
import mx.utils.Delegate;
|
||||
|
||||
class Screens.BlockListScreen extends ScreenWithPageNavigator
|
||||
{
|
||||
private var ignoreUsernameEditBox:TextInput;
|
||||
private var startIgnoreButton:Button;
|
||||
private var btnBack:Button;
|
||||
private var tfUsername:TextField;
|
||||
|
||||
private var mcProfileImage:MovieClip;
|
||||
private var mcScrollBar:ScrollBar
|
||||
|
||||
private var mIsWaitingForResponseFromServer:Boolean; //true when user hit ignore or stop ignore to wait for server to verify the action
|
||||
private var mUsernameOnHold:String;
|
||||
|
||||
public function BlockListScreen()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing BlockListScreen");
|
||||
|
||||
mScreenId = ScreenID.BLOCK_LIST;
|
||||
mScreenTabId = ScreenTab.ID_PROFILE;
|
||||
mIsWaitingForResponseFromServer = false;
|
||||
|
||||
mEntriesPerPage = 10;
|
||||
mFirstEntryX = 440;
|
||||
mFirstEntryY = -245;
|
||||
mDeltaY = 10;
|
||||
}
|
||||
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
//Add click event for buttons
|
||||
startIgnoreButton.addEventListener("click", this, "f2c_StartIgnore");
|
||||
//stopIgnoreButton.addEventListener("click", this, "f2c_StopIgnore");
|
||||
btnBack.addEventListener("click", this, "Back");
|
||||
mcScrollBar.addEventListener("scroll", this, "OnScroll");
|
||||
|
||||
//Add callbacks for C++
|
||||
ExternalInterface.addCallback("c2f_StartIgnore", this, c2f_StartIgnore);
|
||||
ExternalInterface.addCallback("c2f_StopIgnore", this, c2f_StopIgnore);
|
||||
ExternalInterface.addCallback("c2f_GetIgnoreListResult", this, c2f_GetIgnoreListResult);
|
||||
|
||||
super.VOnFinishedLoading();
|
||||
}
|
||||
|
||||
public function OnShow():Void
|
||||
{
|
||||
super.OnShow();
|
||||
|
||||
if ( !mcProfileImage.mcImageContainer.mcImage )
|
||||
{
|
||||
var imageIndex:Number = LobbyInterface.Instance.GetProfileImageIndex();
|
||||
mcProfileImage.attachMovie( "ProfileImage" + imageIndex, "mcImage", mcProfileImage.getNextHighestDepth() );
|
||||
}
|
||||
|
||||
tfUsername.text = LobbyInterface.Instance.GetUsername();
|
||||
|
||||
//ConsoleWindow.Trace("blocked user list length = " + mMovieClipList.length);
|
||||
if ( mMovieClipList.length > 0 )
|
||||
{
|
||||
CleanUpMoveClipList( mMovieClipList );
|
||||
}
|
||||
|
||||
mMovieClipList = new Array();
|
||||
mCurrentPage = 0;
|
||||
GoToPage( 1 );
|
||||
f2c_GetIgnoreList();
|
||||
mIsWaitingForResponseFromServer = false;
|
||||
}
|
||||
|
||||
public function OnScroll( position:Number ):Void
|
||||
{
|
||||
ConsoleWindow.Trace("scrolling pos: " + position);
|
||||
}
|
||||
|
||||
public function Back():Void
|
||||
{
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.PROFILE );
|
||||
}
|
||||
|
||||
public function f2c_StartIgnore():Void
|
||||
{
|
||||
if ( !mIsWaitingForResponseFromServer )
|
||||
{
|
||||
mIsWaitingForResponseFromServer = true;
|
||||
ExternalInterface.call("f2c_StartIgnore", ignoreUsernameEditBox.text);
|
||||
mUsernameOnHold = ignoreUsernameEditBox.text;
|
||||
}
|
||||
}
|
||||
|
||||
public function c2f_StartIgnore(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Client_StartIgnore_UNKNOWN_TARGET_HANDLE":
|
||||
//ConsoleWindow.Trace("Client_StartIgnore_UNKNOWN_TARGET_HANDLE");
|
||||
break;
|
||||
case "Client_StartIgnore_CANNOT_PERFORM_ON_SELF":
|
||||
//ConsoleWindow.Trace("Client_StartIgnore_CANNOT_PERFORM_ON_SELF");
|
||||
break;
|
||||
case "Client_StartIgnore_ALREADY_IGNORED":
|
||||
//ConsoleWindow.Trace("Client_StartIgnore_ALREADY_IGNORED");
|
||||
break;
|
||||
case "SUCCESS":
|
||||
ConsoleWindow.Trace("start ignore SUCCESS");
|
||||
//IgnoreUser( mUsernameOnHold, 1 ); //TODO: uncomment this
|
||||
break;
|
||||
}
|
||||
|
||||
mIsWaitingForResponseFromServer = false;
|
||||
//IgnoreUser( mUsernameOnHold, 1 ); //TODO: comment this out
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function StopIgnore( blockedUserEntry:MovieClip ):Void
|
||||
{
|
||||
ConsoleWindow.Trace("StopIgnore: " + blockedUserEntry);
|
||||
f2c_StopIgnore( blockedUserEntry.tfUsername.text );
|
||||
RemoveEntryFromList( blockedUserEntry, mMovieClipList );
|
||||
}
|
||||
|
||||
public function f2c_StopIgnore( _username:String ):Void
|
||||
{
|
||||
if ( !mIsWaitingForResponseFromServer )
|
||||
{
|
||||
ExternalInterface.call("f2c_StopIgnore", _username);
|
||||
}
|
||||
}
|
||||
|
||||
public function c2f_StopIgnore(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Client_StopIgnore_UNKNOWN_TARGET_HANDLE":
|
||||
//ConsoleWindow.Trace("Client_StopIgnore_UNKNOWN_TARGET_HANDLE");
|
||||
break;
|
||||
case "Client_StopIgnore_CANNOT_PERFORM_ON_SELF":
|
||||
//ConsoleWindow.Trace("Client_StopIgnore_CANNOT_PERFORM_ON_SELF");
|
||||
break;
|
||||
case "SUCCESS":
|
||||
//ConsoleWindow.Trace("stop ignore success");
|
||||
break;
|
||||
}
|
||||
|
||||
mIsWaitingForResponseFromServer = false;
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function f2c_GetIgnoreList():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_GetIgnoreList");
|
||||
}
|
||||
|
||||
public function c2f_GetIgnoreListResult():Void
|
||||
{
|
||||
ConsoleWindow.Trace("c2f_GetIgnoreListResult...");
|
||||
for (var i:Number = 0; i < arguments.length; i++)
|
||||
{
|
||||
// Array of handles (string)
|
||||
ConsoleWindow.Trace(arguments[i]);
|
||||
}
|
||||
|
||||
//TODO: remove this once c++ sends down proper data
|
||||
for ( var n:Number = 0; n < 25; n++ )
|
||||
{
|
||||
/*var userEntry:MovieClip = attachMovie("BlockListEntry", "blockedUser" + mMovieClipList.length, getNextHighestDepth() );
|
||||
userEntry._visible = false;
|
||||
userEntry.tfUsername.text = "testUser" + mMovieClipList.length;
|
||||
mMovieClipList.push( userEntry );
|
||||
var self:BlockListScreen = this;
|
||||
userEntry.mcDelete.onPress = function() { self.StopIgnore( this._parent ); }*/
|
||||
AddBlockListEntry( "testUser" + mMovieClipList.length );
|
||||
}
|
||||
|
||||
OnMoveClipListUpdated();
|
||||
ShowPage(1);
|
||||
}
|
||||
|
||||
public function IgnoreUser( _username:String, _profileImageIndex:Number ):Void
|
||||
{
|
||||
/* var userEntry:MovieClip = attachMovie("BlockListEntry", "blockedUser" + mMovieClipList.length, getNextHighestDepth() );
|
||||
userEntry._visible = false;
|
||||
userEntry.tfUsername.text = _username;
|
||||
mMovieClipList.push( userEntry );
|
||||
var self:BlockListScreen = this;
|
||||
userEntry.mcDelete.onPress = function() { self.StopIgnore( this._parent ); }*/
|
||||
AddBlockListEntry( _username );
|
||||
|
||||
TogglePageVisibility(mCurrentPage, true );
|
||||
OnMoveClipListUpdated();
|
||||
}
|
||||
|
||||
public function AddBlockListEntry( _username:String ):Void
|
||||
{
|
||||
var userEntry:MovieClip = attachMovie("BlockListEntry", "blockedUser" + mMovieClipList.length, getNextHighestDepth() );
|
||||
userEntry._visible = false;
|
||||
userEntry.tfUsername.text = _username;
|
||||
mMovieClipList.push( userEntry );
|
||||
ConsoleWindow.Trace("Ignoring user: " + userEntry);
|
||||
var self:BlockListScreen = this;
|
||||
userEntry.mcDelete.onPress = function() { self.StopIgnore( this._parent ); }
|
||||
}
|
||||
|
||||
private function OnShowMovieClipEntry( mcEntry:MovieClip, index:Number ):Void
|
||||
{
|
||||
//ConsoleWindow.Trace("BlockList... OnShowMovieClipEntry: " + mcEntry.mcDelete.onPress);
|
||||
super.OnShowMovieClipEntry( mcEntry, index );
|
||||
}
|
||||
|
||||
private function OnHideMovieClipEntry( mcEntry:MovieClip ):Void
|
||||
{
|
||||
//ConsoleWindow.Trace("BlockList... OnHideMovieClipEntry: " + mcEntry.mcDelete.onPress );
|
||||
mcEntry.mcDelete.onPress = null;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,192 @@
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.Button;
|
||||
import mx.utils.Delegate;
|
||||
|
||||
class Screens.ChangePhoto extends Screen
|
||||
{
|
||||
private var btnBack:Button;
|
||||
private var btnAcceptPhoto:Button;
|
||||
private var tfUsername:TextField;
|
||||
private var mcProfileImage:MovieClip;
|
||||
|
||||
private var mcImageSelector:MovieClip;
|
||||
private var mImageList:Array;
|
||||
private var mCurrentPage:Number;
|
||||
private var mcPageNavigator:PageNavigator;
|
||||
private var mSelectedIndex:Number;
|
||||
|
||||
public static var cFirstImageX:Number = 0;
|
||||
public static var cFirstImageY:Number = -120;
|
||||
public static var cImageDeltaX:Number = 40;
|
||||
public static var cImageDeltaY:Number = 40;
|
||||
public static var cImagesPerRow:Number = 5;
|
||||
public static var cImagesPerPage:Number = 15;
|
||||
|
||||
public function ChangePhoto()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing ChangePhoto");
|
||||
|
||||
mScreenId = ScreenID.CHANGE_PHOTO;
|
||||
mScreenTabId = ScreenTab.ID_PROFILE;
|
||||
|
||||
mImageList = new Array();
|
||||
mCurrentPage = 0;
|
||||
mSelectedIndex = -1;
|
||||
}
|
||||
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
//Add click event for buttons
|
||||
btnBack.addEventListener("click", this, "Back");
|
||||
btnAcceptPhoto.addEventListener("click", this, "AcceptPhoto");
|
||||
|
||||
super.VOnFinishedLoading();
|
||||
}
|
||||
|
||||
public function OnShow():Void
|
||||
{
|
||||
mcImageSelector._visible = false;
|
||||
tfUsername.text = LobbyInterface.Instance.GetUsername();
|
||||
|
||||
if ( !mcProfileImage.mcImageContainer.mcImage )
|
||||
{
|
||||
var imageIndex:Number = LobbyInterface.Instance.GetProfileImageIndex();
|
||||
mcProfileImage.attachMovie( "ProfileImage" + imageIndex, "mcImage", mcProfileImage.getNextHighestDepth() );
|
||||
}
|
||||
|
||||
mSelectedIndex = -1;
|
||||
mcImageSelector._visible = false;
|
||||
|
||||
if ( mImageList.length == 0 )
|
||||
{
|
||||
AddImages();
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowPage( mCurrentPage );
|
||||
}
|
||||
}
|
||||
|
||||
public function AddImages():Void
|
||||
{
|
||||
for ( var i:Number = 1; i <= 35; i++ )
|
||||
{
|
||||
var profileImage:MovieClip = attachMovie( "ProfileImage1", "ProfileImage" + i, getNextHighestDepth() );
|
||||
profileImage._visible = false;
|
||||
profileImage._width = mcImageSelector._width;
|
||||
profileImage._height = mcImageSelector._height;
|
||||
ConsoleWindow.Trace("Adding image " + + profileImage);
|
||||
profileImage.tfTemp.text = mImageList.length;
|
||||
mImageList.push( profileImage );
|
||||
|
||||
var self:ChangePhoto = this;
|
||||
profileImage.onPress = function() { self.OnSelectImage( this ); }
|
||||
}
|
||||
|
||||
mcImageSelector.swapDepths( getNextHighestDepth() );
|
||||
mcPageNavigator.AddCallbacks( Delegate.create( this, NextPage ), Delegate.create( this, PreviousPage ) );
|
||||
mcPageNavigator.SetTotalPages( Math.ceil( mImageList.length / cImagesPerPage ) );
|
||||
|
||||
ShowPage( 1 );
|
||||
}
|
||||
|
||||
public function OnSelectImage( _profileImage:MovieClip ):Void
|
||||
{
|
||||
var index:Number = Number( _profileImage._name.substring( 12, _profileImage._name.length ) ) - 1;
|
||||
|
||||
ConsoleWindow.Trace("Selected: " + _profileImage + ", index = " + index);
|
||||
if ( index != mSelectedIndex )
|
||||
{
|
||||
mSelectedIndex = index;
|
||||
mcImageSelector._x = _profileImage._x;
|
||||
mcImageSelector._y = _profileImage._y;
|
||||
mcImageSelector._visible = true;
|
||||
}
|
||||
}
|
||||
|
||||
public function NextPage():Void
|
||||
{
|
||||
ShowPage( mCurrentPage + 1);
|
||||
}
|
||||
|
||||
public function PreviousPage():Void
|
||||
{
|
||||
ShowPage( mCurrentPage - 1 );
|
||||
}
|
||||
|
||||
public function ShowPage( _page:Number ):Void
|
||||
{
|
||||
if ( ( _page - 1 ) * cImagesPerPage <= mImageList.length && _page != mCurrentPage )
|
||||
{
|
||||
if ( mCurrentPage > 0 )
|
||||
{
|
||||
HidePage( mCurrentPage );
|
||||
}
|
||||
ConsoleWindow.Trace("Showing page " + _page);
|
||||
mCurrentPage = _page;
|
||||
TogglePageVisibility( mCurrentPage, true );
|
||||
|
||||
//if user selected an image from this new page, we show the selector again at that image
|
||||
if ( mSelectedIndex >= ( _page - 1 ) * cImagesPerPage && mSelectedIndex < _page * cImagesPerPage )
|
||||
{
|
||||
mcImageSelector._visible = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function HidePage( _page:Number ):Void
|
||||
{
|
||||
if ( ( _page-1 ) * cImagesPerPage <= mImageList.length )
|
||||
{
|
||||
mcImageSelector._visible = false;
|
||||
ConsoleWindow.Trace("Hiding page " + _page);
|
||||
TogglePageVisibility( _page, false );
|
||||
}
|
||||
}
|
||||
|
||||
private function TogglePageVisibility( _page:Number, _visibleState:Boolean ):Void
|
||||
{
|
||||
var startIndex:Number = _page * cImagesPerPage - ( cImagesPerPage );
|
||||
var endIndex:Number = startIndex + cImagesPerPage;
|
||||
|
||||
for ( var i:Number = 0; i < cImagesPerPage; i++ )
|
||||
{
|
||||
var row:Number = Math.floor( i / cImagesPerRow ) + 1;
|
||||
var col:Number = ( i % cImagesPerRow ) + 1;
|
||||
var profileImage:MovieClip = mImageList[startIndex+i];
|
||||
if ( !profileImage )
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
profileImage._visible = _visibleState;
|
||||
if ( _visibleState )
|
||||
{
|
||||
profileImage._x = cFirstImageX + (col-1) * (profileImage._width + cImageDeltaX);
|
||||
profileImage._y = cFirstImageY + (row - 1) * (profileImage._height + cImageDeltaY);
|
||||
//ConsoleWindow.Trace("Show profile image: " + profileImage + " at " + row + ", " + col);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//ConsoleWindow.Trace("x, y = " + profileImage._x + ", " + profileImage._y);
|
||||
}
|
||||
}
|
||||
|
||||
public function Back():Void
|
||||
{
|
||||
//LobbyInterface.Instance.ShowScreen( ScreenID.PROFILE );
|
||||
LobbyInterface.Instance.ShowLastScreen();
|
||||
}
|
||||
|
||||
public function AcceptPhoto():Void
|
||||
{
|
||||
if ( mSelectedIndex >= 0 && mSelectedIndex < mImageList.length )
|
||||
{
|
||||
//TODO: tell c++ user changed photo to a new index
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,316 @@
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.Button;
|
||||
import gfx.controls.ScrollBar;
|
||||
import mx.utils.Delegate;
|
||||
|
||||
class Screens.ClanBlockListScreen extends ScreenWithPageNavigator
|
||||
{
|
||||
private var ignoreUsernameEditBox:TextInput;
|
||||
private var startIgnoreButton:Button;
|
||||
private var btnBack:Button;
|
||||
private var tfClanName:TextField;
|
||||
|
||||
private var mIsWaitingForResponseFromServer:Boolean; //true when user hit ignore or stop ignore to wait for server to verify the action
|
||||
private var mUsernameOnHold:String;
|
||||
private var mcMail:Mail;
|
||||
private var mUserToUnblock:MovieClip;
|
||||
|
||||
private static var mInstance:ClanBlockListScreen;
|
||||
|
||||
public function ClanBlockListScreen()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing ClanBlockListScreen");
|
||||
|
||||
mScreenId = ScreenID.CLAN_BLOCK_LIST;
|
||||
mScreenTabId = ScreenTab.ID_CLANS;
|
||||
mIsWaitingForResponseFromServer = false;
|
||||
|
||||
mEntriesPerPage = 10;
|
||||
mFirstEntryX = 440;
|
||||
mFirstEntryY = -245;
|
||||
mDeltaY = 10;
|
||||
|
||||
mInstance = this;
|
||||
}
|
||||
|
||||
public static function get Instance():ClanBlockListScreen
|
||||
{
|
||||
return mInstance;
|
||||
}
|
||||
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
//Add click event for buttons
|
||||
startIgnoreButton.addEventListener("click", this, "ShowKickAndBlockMail");
|
||||
//stopIgnoreButton.addEventListener("click", this, "f2c_StopIgnore");
|
||||
btnBack.addEventListener("click", this, "Back");
|
||||
|
||||
//Add callbacks for C++
|
||||
// ExternalInterface.addCallback("c2f_StartIgnore", this, c2f_StartIgnore);
|
||||
// ExternalInterface.addCallback("c2f_StopIgnore", this, c2f_StopIgnore);
|
||||
// ExternalInterface.addCallback("c2f_GetIgnoreListResult", this, c2f_GetIgnoreListResult);
|
||||
ExternalInterface.addCallback("c2f_Clans_KickAndBlacklistUser", this, c2f_Clans_KickAndBlacklistUser);
|
||||
ExternalInterface.addCallback("c2f_Clans_UnblacklistUser", this, c2f_Clans_UnblacklistUser);
|
||||
ExternalInterface.addCallback("c2f_Clans_GetBlacklist", this, c2f_Clans_GetBlacklist);
|
||||
|
||||
super.VOnFinishedLoading();
|
||||
}
|
||||
|
||||
public function OnShow():Void
|
||||
{
|
||||
super.OnShow();
|
||||
mcMail._visible = false;
|
||||
|
||||
//ConsoleWindow.Trace("blocked user list length = " + mMovieClipList.length);
|
||||
if ( mMovieClipList.length > 0 )
|
||||
{
|
||||
CleanUpMoveClipList( mMovieClipList );
|
||||
}
|
||||
|
||||
mMovieClipList = new Array();
|
||||
mCurrentPage = 0;
|
||||
GoToPage( 1 );
|
||||
f2c_GetIgnoreList();
|
||||
mIsWaitingForResponseFromServer = false;
|
||||
}
|
||||
|
||||
public function SetClanName( name:String ):Void { tfClanName.text = name; }
|
||||
|
||||
public function Back():Void
|
||||
{
|
||||
LobbyInterface.Instance.ShowLastScreen();
|
||||
}
|
||||
|
||||
public function ShowKickAndBlockMail():Void
|
||||
{
|
||||
mcMail.Clear();
|
||||
mcMail.SetButton( 1, "CANCEL", Delegate.create(this, HideMail) );
|
||||
mcMail.SetButton( 2, "KICK", Delegate.create(this, f2c_Clans_KickAndBlacklistUser) );
|
||||
|
||||
mcMail.SetTitle( "KICK AND BLOCK USER FROM CLAN" );
|
||||
mcMail.SetToField( ignoreUsernameEditBox.text );
|
||||
mcMail.SetSubjectField( "Kicked From " + tfClanName.text );
|
||||
mcMail.SetCheckBox( "BLOCK USER" );
|
||||
mcMail.swapDepths( getNextHighestDepth() );
|
||||
mcMail._visible = true;
|
||||
}
|
||||
|
||||
public function f2c_Clans_KickAndBlacklistUser():Void
|
||||
{
|
||||
if ( !mIsWaitingForResponseFromServer )
|
||||
{
|
||||
mIsWaitingForResponseFromServer = true;
|
||||
//ExternalInterface.call("f2c_StartIgnore", ignoreUsernameEditBox.text);
|
||||
mUsernameOnHold = ignoreUsernameEditBox.text;
|
||||
|
||||
ExternalInterface.call("f2c_Clans_KickAndBlacklistUser", tfClanName.text, mcMail.GetSubjectField(), mcMail.GetMsgField(), "0",
|
||||
mcMail.GetToField(),
|
||||
true,
|
||||
mcMail.IsCheckBoxOn(),
|
||||
"Unknown Reason" //The 'reason' field is sent to all clan members and is a short message or identifier. It is also stored in the database along with their username, so that if say a moderator later wanted to know why the guy was kicked, you could tell why. As it is defined by the application, this could be a text string, a phrase, a paragraph, or just some identifier.
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
public function ShowStopIgnoreMail( blockedUserEntry:MovieClip ):Void
|
||||
{
|
||||
if ( !mIsWaitingForResponseFromServer )
|
||||
{
|
||||
mIsWaitingForResponseFromServer = true;
|
||||
mUserToUnblock = blockedUserEntry;
|
||||
mcMail.Clear();
|
||||
mcMail.SetButton( 1, "CANCEL", Delegate.create(this, HideMail) );
|
||||
mcMail.SetButton( 2, "UNBLOCK", Delegate.create(this, StopIgnore) );
|
||||
|
||||
mcMail.SetTitle( "UNBLOCK USER FROM CLAN" );
|
||||
mcMail.SetToField( blockedUserEntry.tfUsername.text );
|
||||
mcMail.DisableToField();
|
||||
mcMail.SetSubjectField( "Unblocked From " + tfClanName.text );
|
||||
mcMail.swapDepths( getNextHighestDepth() );
|
||||
mcMail._visible = true;
|
||||
}
|
||||
}
|
||||
|
||||
public function StopIgnore():Void
|
||||
{
|
||||
ConsoleWindow.Trace("StopIgnore: " + mUserToUnblock);
|
||||
if ( mUserToUnblock )
|
||||
{
|
||||
//f2c_StopIgnore( blockedUserEntry.tfUsername.text );
|
||||
|
||||
ExternalInterface.call("f2c_Clans_UnblacklistUser", tfClanName.text, mcMail.GetSubjectField(), mcMail.GetMsgField(), "0",
|
||||
mUserToUnblock.tfUsername.text);
|
||||
RemoveEntryFromList( mUserToUnblock, mMovieClipList );
|
||||
}
|
||||
}
|
||||
|
||||
public function f2c_StopIgnore( _username:String ):Void
|
||||
{
|
||||
if ( !mIsWaitingForResponseFromServer )
|
||||
{
|
||||
ExternalInterface.call("f2c_StopIgnore", _username);
|
||||
}
|
||||
}
|
||||
|
||||
public function f2c_GetIgnoreList():Void
|
||||
{
|
||||
//ExternalInterface.call("f2c_GetIgnoreList");
|
||||
ExternalInterface.call("f2c_Clans_GetBlacklist", tfClanName.text);
|
||||
}
|
||||
|
||||
public function c2f_GetIgnoreListResult():Void
|
||||
{
|
||||
ConsoleWindow.Trace("c2f_GetIgnoreListResult...");
|
||||
for (var i:Number = 0; i < arguments.length; i++)
|
||||
{
|
||||
// Array of handles (string)
|
||||
ConsoleWindow.Trace(arguments[i]);
|
||||
}
|
||||
|
||||
//TODO: remove this once c++ sends down proper data
|
||||
for ( var n:Number = 0; n < 25; n++ )
|
||||
{
|
||||
/*var userEntry:MovieClip = attachMovie("BlockListEntry", "blockedUser" + mMovieClipList.length, getNextHighestDepth() );
|
||||
userEntry._visible = false;
|
||||
userEntry.tfUsername.text = "testUser" + mMovieClipList.length;
|
||||
mMovieClipList.push( userEntry );
|
||||
var self:BlockListScreen = this;
|
||||
userEntry.mcDelete.onPress = function() { self.StopIgnore( this._parent ); }*/
|
||||
AddBlockListEntry( "testUser" + mMovieClipList.length );
|
||||
}
|
||||
|
||||
OnMoveClipListUpdated();
|
||||
ShowPage(1);
|
||||
}
|
||||
|
||||
public function IgnoreUser( _username:String, _profileImageIndex:Number ):Void
|
||||
{
|
||||
/* var userEntry:MovieClip = attachMovie("BlockListEntry", "blockedUser" + mMovieClipList.length, getNextHighestDepth() );
|
||||
userEntry._visible = false;
|
||||
userEntry.tfUsername.text = _username;
|
||||
mMovieClipList.push( userEntry );
|
||||
var self:BlockListScreen = this;
|
||||
userEntry.mcDelete.onPress = function() { self.StopIgnore( this._parent ); }*/
|
||||
AddBlockListEntry( _username );
|
||||
|
||||
TogglePageVisibility(mCurrentPage, true );
|
||||
OnMoveClipListUpdated();
|
||||
}
|
||||
|
||||
public function HideMail():Void
|
||||
{
|
||||
mcMail._visible = false;
|
||||
}
|
||||
|
||||
public function AddBlockListEntry( _username:String ):Void
|
||||
{
|
||||
var userEntry:MovieClip = attachMovie("BlockListEntry", "blockedUser" + mMovieClipList.length, getNextHighestDepth() );
|
||||
userEntry._visible = false;
|
||||
userEntry.tfUsername.text = _username;
|
||||
mMovieClipList.push( userEntry );
|
||||
ConsoleWindow.Trace("Ignoring user: " + userEntry);
|
||||
var self:ClanBlockListScreen = this;
|
||||
userEntry.mcDelete.onPress = function() { self.ShowStopIgnoreMail( this._parent ); }
|
||||
}
|
||||
|
||||
private function OnShowMovieClipEntry( mcEntry:MovieClip, index:Number ):Void
|
||||
{
|
||||
//ConsoleWindow.Trace("BlockList... OnShowMovieClipEntry: " + mcEntry.mcDelete.onPress);
|
||||
super.OnShowMovieClipEntry( mcEntry, index );
|
||||
}
|
||||
|
||||
private function OnHideMovieClipEntry( mcEntry:MovieClip ):Void
|
||||
{
|
||||
//ConsoleWindow.Trace("BlockList... OnHideMovieClipEntry: " + mcEntry.mcDelete.onPress );
|
||||
mcEntry.mcDelete.onPress = null;
|
||||
}
|
||||
|
||||
public function c2f_Clans_GetBlacklist(resultIdentifier:String):Void
|
||||
{
|
||||
ConsoleWindow.Trace("c2f_Clans_GetBlacklist(), arguments = " + arguments);
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_GetBlacklist_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
ConsoleWindow.Trace("c2f_Clans_GetBlacklist(), success!");
|
||||
var length:Number = arguments.length;
|
||||
for ( var i:Number = 1; i < length; i++ )
|
||||
{
|
||||
AddBlockListEntry( arguments[i] );
|
||||
}
|
||||
|
||||
OnMoveClipListUpdated();
|
||||
ShowPage(1);
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function c2f_Clans_KickAndBlacklistUser(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_KickAndBlacklistUser_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_KickAndBlacklistUser_NOT_IN_CLAN":
|
||||
break;
|
||||
case "Clans_KickAndBlacklistUser_MUST_BE_LEADER_OR_SUBLEADER":
|
||||
break;
|
||||
case "Clans_KickAndBlacklistUser_UNKNOWN_TARGET_HANDLE":
|
||||
break;
|
||||
case "Clans_KickAndBlacklistUser_CANNOT_PERFORM_ON_SELF":
|
||||
break;
|
||||
case "Clans_KickAndBlacklistUser_CANNOT_PERFORM_ON_LEADER":
|
||||
break;
|
||||
case "Clans_KickAndBlacklistUser_ALREADY_BLACKLISTED":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
ConsoleWindow.Trace("c2f_Clans_KickAndBlacklistUser(), success!");
|
||||
HideMail();
|
||||
break;
|
||||
}
|
||||
|
||||
mIsWaitingForResponseFromServer = false;
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function c2f_Clans_UnblacklistUser(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_UnblacklistUser_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_UnblacklistUser_NOT_IN_CLAN":
|
||||
break;
|
||||
case "Clans_UnblacklistUser_MUST_BE_LEADER_OR_SUBLEADER":
|
||||
break;
|
||||
case "Clans_UnblacklistUser_UNKNOWN_TARGET_HANDLE":
|
||||
break;
|
||||
case "Clans_UnblacklistUser_NOT_BLACKLISTED":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
ConsoleWindow.Trace("c2f_Clans_UnblacklistUser(), success");
|
||||
HideMail();
|
||||
break;
|
||||
}
|
||||
|
||||
mIsWaitingForResponseFromServer = false;
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,376 @@
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.Button;
|
||||
import gfx.controls.CheckBox;
|
||||
|
||||
class Screens.ClanEmailScreen extends Screen
|
||||
{
|
||||
private var clanHandle_EditBox:TextInput;
|
||||
private var subject_EditBox:TextInput;
|
||||
private var body_EditBox:TextInput;
|
||||
private var emailStatus_EditBox:TextInput;
|
||||
private var clans_targetHandle_EditBox:TextInput;
|
||||
private var clans_AcceptJoinRequest_requestingUserHandle_EditBox:TextInput;
|
||||
private var clans_RejectJoinRequest_requestingUserHandle_EditBox:TextInput;
|
||||
private var clans_KickAndBlacklistUser_targetHandle_EditBox:TextInput;
|
||||
private var clans_KickAndBlacklistUser_reason_EditBox:TextInput;
|
||||
|
||||
private var clans_Leave_dissolveIfClanLeader_Checkbox:CheckBox;
|
||||
private var clans_AcceptJoinInvitation_failIfAlreadyInClan_Checkbox:CheckBox;
|
||||
private var clans_AcceptJoinRequest_failIfAlreadyInClan_Checkbox:CheckBox;
|
||||
private var clans_KickAndBlacklistUser_blacklist_Checkbox:CheckBox;
|
||||
private var clans_KickAndBlacklistUser_kick_Checkbox:CheckBox;
|
||||
|
||||
private var clans_RejectJoinInvitation_Button:Button;
|
||||
private var clans_SendJoinRequest_Button:Button;
|
||||
private var clans_WithdrawJoinRequest_Button:Button;
|
||||
private var clans_Leave_Button:Button;
|
||||
private var clans_AcceptJoinInvitation_Button:Button;
|
||||
private var clans_SendJoinInvitation_Button:Button;
|
||||
private var clans_WithdrawJoinInvitation_Button:Button;
|
||||
private var clans_UnblacklistUser_Button:Button;
|
||||
private var clans_AcceptJoinRequest_Button:Button;
|
||||
private var clans_RejectJoinRequest_Button:Button;
|
||||
private var clans_KickAndBlacklistUser_Button:Button;
|
||||
|
||||
public function ClanEmailScreen()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing ClanEmailScreen");
|
||||
|
||||
mScreenId = ScreenID.CLAN_EMAIL
|
||||
mScreenTabId = ScreenTab.ID_CLANS;;
|
||||
}
|
||||
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
//Add click event for buttons
|
||||
// clans_RejectJoinInvitation_Button.addEventListener("click", this, "f2c_Clans_RejectJoinInvitation");
|
||||
// clans_SendJoinInvitation_Button.addEventListener("click", this, "f2c_Clans_SendJoinInvitation");
|
||||
clans_WithdrawJoinInvitation_Button.addEventListener("click", this, "f2c_Clans_WithdrawJoinInvitation");
|
||||
// clans_Leave_Button.addEventListener("click", this, "f2c_Clans_Leave");
|
||||
// clans_AcceptJoinInvitation_Button.addEventListener("click", this, "f2c_Clans_AcceptJoinInvitation");
|
||||
// clans_SendJoinRequest_Button.addEventListener("click", this, "f2c_Clans_SendJoinRequest");
|
||||
// clans_WithdrawJoinRequest_Button.addEventListener("click", this, "f2c_Clans_WithdrawJoinRequest");
|
||||
// clans_UnblacklistUser_Button.addEventListener("click", this, "f2c_Clans_UnblacklistUser");
|
||||
// clans_AcceptJoinRequest_Button.addEventListener("click", this, "f2c_Clans_AcceptJoinRequest");
|
||||
// clans_RejectJoinRequest_Button.addEventListener("click", this, "f2c_Clans_RejectJoinRequest");
|
||||
// clans_KickAndBlacklistUser_Button.addEventListener("click", this, "f2c_Clans_KickAndBlacklistUser");
|
||||
|
||||
//Add callbacks for C++
|
||||
// ExternalInterface.addCallback("c2f_Clans_Leave", this, c2f_Clans_Leave);
|
||||
// ExternalInterface.addCallback("c2f_Clans_SendJoinInvitation", this, c2f_Clans_SendJoinInvitation);
|
||||
ExternalInterface.addCallback("c2f_Clans_WithdrawJoinInvitation", this, c2f_Clans_WithdrawJoinInvitation);
|
||||
// ExternalInterface.addCallback("c2f_Clans_AcceptJoinInvitation", this, c2f_Clans_AcceptJoinInvitation);
|
||||
// ExternalInterface.addCallback("c2f_Clans_RejectJoinInvitation", this, c2f_Clans_RejectJoinInvitation);
|
||||
// ExternalInterface.addCallback("c2f_Clans_SendJoinRequest", this, c2f_Clans_SendJoinRequest);
|
||||
// ExternalInterface.addCallback("c2f_Clans_WithdrawJoinRequest", this, c2f_Clans_WithdrawJoinRequest);
|
||||
// ExternalInterface.addCallback("c2f_Clans_AcceptJoinRequest", this, c2f_Clans_AcceptJoinRequest);
|
||||
// ExternalInterface.addCallback("c2f_Clans_RejectJoinRequest", this, c2f_Clans_RejectJoinRequest);
|
||||
// ExternalInterface.addCallback("c2f_Clans_KickAndBlacklistUser", this, c2f_Clans_KickAndBlacklistUser);
|
||||
// ExternalInterface.addCallback("c2f_Clans_UnblacklistUser", this, c2f_Clans_UnblacklistUser);
|
||||
|
||||
super.VOnFinishedLoading();
|
||||
}
|
||||
|
||||
/* public function f2c_Clans_Leave():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_Leave", ternalInterface.call("f2c_Clans_Leave", [
|
||||
clanHandle_EditBox.text, subject_EditBox.text, body_EditBox.text, emailStatus_EditBox.text,
|
||||
clans_Le);
|
||||
}*/
|
||||
|
||||
/* public function f2c_Clans_SendJoinInvitation():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_SendJoinInvitation", clanHandle_EditBox.text, subject_EditBox.text, body_EditBox.text, emailStatus_EditBox.text,
|
||||
clans_targetHandle_EditBox.text);
|
||||
}*/
|
||||
|
||||
public function f2c_Clans_WithdrawJoinInvitation():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_WithdrawJoinInvitation", clanHandle_EditBox.text, subject_EditBox.text, body_EditBox.text, emailStatus_EditBox.text,
|
||||
clans_targetHandle_EditBox.text);
|
||||
}
|
||||
|
||||
/* public function f2c_Clans_AcceptJoinInvitation():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_AcceptJoinInvitation", clanHandle_EditBox.text, subject_EditBox.text, body_EditBox.text, emailStatus_EditBox.text,
|
||||
clans_AcceptJoinInvitation_failIfAlreadyInClan_Checkbox.selected);
|
||||
}*/
|
||||
/*
|
||||
public function f2c_Clans_RejectJoinInvitation():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_RejectJoinInvitation", clanHandle_EditBox.text, subject_EditBox.text, body_EditBox.text, emailStatus_EditBox.text
|
||||
);
|
||||
}*/
|
||||
|
||||
|
||||
/* public function f2c_Clans_SendJoinRequest():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_SendJoinRequest", clanHandle_EditBox.text, subject_EditBox.text, body_EditBox.text, emailStatus_EditBox.text
|
||||
);
|
||||
}*/
|
||||
|
||||
/* public function f2c_Clans_WithdrawJoinRequest():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_WithdrawJoinRequest", clanHandle_EditBox.text, subject_EditBox.text, body_EditBox.text, emailStatus_EditBox.text
|
||||
);
|
||||
}*/
|
||||
|
||||
/* public function f2c_Clans_AcceptJoinRequest():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_AcceptJoinRequest", clanHandle_EditBox.text, subject_EditBox.text, body_EditBox.text, emailStatus_EditBox.text,
|
||||
clans_AcceptJoinRequest_requestingUserHandle_EditBox.text,
|
||||
clans_AcceptJoinRequest_failIfAlreadyInClan_Checkbox.selected);
|
||||
}
|
||||
|
||||
public function f2c_Clans_RejectJoinRequest():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_RejectJoinRequest", clanHandle_EditBox.text, subject_EditBox.text, body_EditBox.text, emailStatus_EditBox.text,
|
||||
clans_RejectJoinRequest_requestingUserHandle_EditBox.text);
|
||||
}*/
|
||||
|
||||
/* public function f2c_Clans_KickAndBlacklistUser():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_KickAndBlacklistUser", clanHandle_EditBox.text, subject_EditBox.text, body_EditBox.text, emailStatus_EditBox.text,
|
||||
clans_KickAndBlacklistUser_targetHandle_EditBox.text,
|
||||
clans_KickAndBlacklistUser_kick_Checkbox.selected,
|
||||
clans_KickAndBlacklistUser_blacklist_Checkbox.selected,
|
||||
clans_KickAndBlacklistUser_reason_EditBox.text
|
||||
);
|
||||
}*/
|
||||
|
||||
/* public function f2c_Clans_UnblacklistUser():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_UnblacklistUser", clanHandle_EditBox.text, subject_EditBox.text, body_EditBox.text, emailStatus_EditBox.text,
|
||||
clans_targetHandle_EditBox.text);
|
||||
}*/
|
||||
|
||||
|
||||
/* public function c2f_Clans_Leave(resultIdentifier:String, wasDissolved:Boolean, newClanLeader:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_Leave_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_Leave_NOT_IN_CLAN":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
}*/
|
||||
|
||||
/* public function c2f_Clans_SendJoinInvitation(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function c2f_Clans_WithdrawJoinInvitation(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_WithdrawJoinInvitation_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_WithdrawJoinInvitation_UNKNOWN_TARGET_HANDLE":
|
||||
break;
|
||||
case "Clans_WithdrawJoinInvitation_CANNOT_PERFORM_ON_SELF":
|
||||
break;
|
||||
case "Clans_WithdrawJoinInvitation_NO_SUCH_INVITATION_EXISTS":
|
||||
break;
|
||||
case "Clans_WithdrawJoinInvitation_MUST_BE_LEADER_OR_SUBLEADER":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}*/
|
||||
|
||||
/* public function c2f_Clans_AcceptJoinInvitation(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_AcceptJoinInvitation_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_AcceptJoinInvitation_NO_SUCH_INVITATION_EXISTS":
|
||||
break;
|
||||
case "Clans_AcceptJoinInvitation_ALREADY_IN_DIFFERENT_CLAN":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}*/
|
||||
|
||||
/* public function c2f_Clans_RejectJoinInvitation(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_RejectJoinInvitation_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_RejectJoinInvitation_NO_SUCH_INVITATION_EXISTS":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}*/
|
||||
|
||||
/* public function c2f_Clans_SendJoinRequest(resultIdentifier:String, clanJoined:Boolean):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_SendJoinRequest_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_SendJoinRequest_ALREADY_IN_CLAN":
|
||||
break;
|
||||
case "Clans_SendJoinRequest_BANNED":
|
||||
break;
|
||||
case "Clans_SendJoinRequest_REQUEST_ALREADY_PENDING":
|
||||
break;
|
||||
case "Clans_SendJoinRequest_ALREADY_INVITED":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
}*/
|
||||
|
||||
/* public function c2f_Clans_WithdrawJoinRequest(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_WithdrawJoinRequest_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_WithdrawJoinRequest_ALREADY_IN_CLAN":
|
||||
break;
|
||||
case "Clans_WithdrawJoinRequest_NO_SUCH_INVITATION_EXISTS":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
}*/
|
||||
|
||||
/* public function c2f_Clans_AcceptJoinRequest(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_AcceptJoinRequest_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_AcceptJoinRequest_NOT_IN_CLAN":
|
||||
break;
|
||||
case "Clans_AcceptJoinRequest_MUST_BE_LEADER_OR_SUBLEADER":
|
||||
break;
|
||||
case "Clans_AcceptJoinRequest_UNKNOWN_TARGET_HANDLE":
|
||||
break;
|
||||
case "Clans_AcceptJoinRequest_CANNOT_PERFORM_ON_SELF":
|
||||
break;
|
||||
case "Clans_AcceptJoinRequest_TARGET_ALREADY_IN_CLAN":
|
||||
break;
|
||||
case "Clans_AcceptJoinRequest_TARGET_IS_BANNED":
|
||||
break;
|
||||
case "Clans_AcceptJoinRequest_REQUEST_NOT_PENDING":
|
||||
break;
|
||||
case "Clans_AcceptJoinRequest_TARGET_ALREADY_IN_DIFFERENT_CLAN":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public function c2f_Clans_RejectJoinRequest(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_RejectJoinRequest_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_RejectJoinRequest_NOT_IN_CLAN":
|
||||
break;
|
||||
case "Clans_RejectJoinRequest_MUST_BE_LEADER_OR_SUBLEADER":
|
||||
break;
|
||||
case "Clans_RejectJoinRequest_REQUESTING_USER_HANDLE_UNKNOWN":
|
||||
break;
|
||||
case "Clans_RejectJoinRequest_NO_SUCH_INVITATION_EXISTS":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
}*/
|
||||
|
||||
/* public function c2f_Clans_KickAndBlacklistUser(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_KickAndBlacklistUser_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_KickAndBlacklistUser_NOT_IN_CLAN":
|
||||
break;
|
||||
case "Clans_KickAndBlacklistUser_MUST_BE_LEADER_OR_SUBLEADER":
|
||||
break;
|
||||
case "Clans_KickAndBlacklistUser_UNKNOWN_TARGET_HANDLE":
|
||||
break;
|
||||
case "Clans_KickAndBlacklistUser_CANNOT_PERFORM_ON_SELF":
|
||||
break;
|
||||
case "Clans_KickAndBlacklistUser_CANNOT_PERFORM_ON_LEADER":
|
||||
break;
|
||||
case "Clans_KickAndBlacklistUser_ALREADY_BLACKLISTED":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function c2f_Clans_UnblacklistUser(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_UnblacklistUser_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_UnblacklistUser_NOT_IN_CLAN":
|
||||
break;
|
||||
case "Clans_UnblacklistUser_MUST_BE_LEADER_OR_SUBLEADER":
|
||||
break;
|
||||
case "Clans_UnblacklistUser_UNKNOWN_TARGET_HANDLE":
|
||||
break;
|
||||
case "Clans_UnblacklistUser_NOT_BLACKLISTED":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
||||
@ -0,0 +1,593 @@
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.Button;
|
||||
import gfx.controls.CheckBox;
|
||||
import Screens.ClanBlockListScreen;
|
||||
import Screens.ClanRootScreen;
|
||||
import mx.utils.Delegate;
|
||||
|
||||
class Screens.ClanGeneralScreen extends ScreenWithPageNavigator
|
||||
{
|
||||
private var clanHandle_EditBox:TextInput;
|
||||
private var clans_Create_description_EditBox:TextInput;
|
||||
private var clans_Create_emailStatus_EditBox:TextInput;
|
||||
private var clans_Description_EditBox:TextInput;
|
||||
private var clans_targetHandle_EditBox:TextInput;
|
||||
private var clans_SetSubleaderStatus_targetHandle_EditBox:TextInput;
|
||||
private var clans_SetMemberRank_targetHandle_EditBox:TextInput;
|
||||
private var clans_SetMemberRank_newRank_EditBox:TextInput;
|
||||
private var clans_ChangeHandle_newClanHandle_EditBox:TextInput;
|
||||
|
||||
private var clans_Create_failIfAlreadyInClan_Checkbox:CheckBox;
|
||||
private var clans_Create_requiresInvitationsToJoin_Checkbox:CheckBox;
|
||||
private var clans_SetSubleaderStatus_setToSubleader_Checkbox:CheckBox;
|
||||
|
||||
private var clans_Create_Button:Button;
|
||||
private var clans_SetProperties_Button:Button;
|
||||
private var clans_SetMyMemberProperties_Button:Button;
|
||||
private var clans_GrantLeader_Button:Button;
|
||||
private var clans_SetSubleaderStatus_Button:Button;
|
||||
private var clans_SetMemberRank_Button:Button;
|
||||
private var clans_ChangeHandle_Button:Button;
|
||||
|
||||
private var btnBack:Button;
|
||||
private var btnLeaveClan:Button;
|
||||
private var btnBlockedUsers:Button;
|
||||
private var btnAcceptInvite:Button;
|
||||
private var btnRequest:Button;
|
||||
private var btnInvite:Button;
|
||||
private var tfUserToAdd:TextInput;
|
||||
|
||||
private var tfClanName:TextField;
|
||||
private var tfClanDescription:TextField;
|
||||
|
||||
private var mIsMyClan:Boolean;
|
||||
private var mIsClanLeader:Boolean;
|
||||
private var mcMail:Mail;
|
||||
|
||||
private static var mInstance:ClanGeneralScreen;
|
||||
|
||||
public function ClanGeneralScreen()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing ClanGeneralScreen");
|
||||
|
||||
mScreenId = ScreenID.CLAN_GENERAL;
|
||||
mScreenTabId = ScreenTab.ID_CLANS;
|
||||
|
||||
mEntriesPerPage = 9;
|
||||
mFirstEntryX = 435;
|
||||
mFirstEntryY = -200;
|
||||
mDeltaY = 10;
|
||||
mIsMyClan = false;
|
||||
mIsClanLeader = false;
|
||||
|
||||
mInstance = this;
|
||||
}
|
||||
|
||||
public static function get Instance():ClanGeneralScreen
|
||||
{
|
||||
return mInstance;
|
||||
}
|
||||
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
//Add click event for buttons
|
||||
/*clans_Create_Button.addEventListener("click", this, "f2c_Clans_Create");
|
||||
clans_SetProperties_Button.addEventListener("click", this, "f2c_Clans_SetProperties");
|
||||
clans_SetMyMemberProperties_Button.addEventListener("click", this, "f2c_Clans_SetMyMemberProperties");
|
||||
clans_GrantLeader_Button.addEventListener("click", this, "f2c_Clans_GrantLeader");
|
||||
clans_SetSubleaderStatus_Button.addEventListener("click", this, "f2c_Clans_SetSubleaderStatus");
|
||||
clans_SetMemberRank_Button.addEventListener("click", this, "f2c_Clans_SetMemberRank");
|
||||
clans_ChangeHandle_Button.addEventListener("click", this, "f2c_Clans_ChangeHandle");*/
|
||||
btnBack.addEventListener("click", this, "Back");
|
||||
btnBlockedUsers.addEventListener("click", this, "ShowBlockedUsers");
|
||||
btnLeaveClan.addEventListener("click", this, "ShowLeaveClanMail");
|
||||
btnRequest.addEventListener("click", this, "SendJoinRequestEmail");
|
||||
btnInvite.addEventListener("click", this, "ShowSendJoinInvitationMail");
|
||||
|
||||
//Add callbacks for C++
|
||||
ExternalInterface.addCallback("c2f_Clans_GetProperties", this, c2f_Clans_GetProperties);
|
||||
|
||||
ExternalInterface.addCallback("c2f_Clans_SetProperties", this, c2f_Clans_SetProperties);
|
||||
ExternalInterface.addCallback("c2f_Clans_SetMyMemberProperties", this, c2f_Clans_SetMyMemberProperties);
|
||||
ExternalInterface.addCallback("c2f_Clans_GrantLeader", this, c2f_Clans_GrantLeader);
|
||||
ExternalInterface.addCallback("c2f_Clans_SetSubleaderStatus", this, c2f_Clans_SetSubleaderStatus);
|
||||
ExternalInterface.addCallback("c2f_Clans_SetMemberRank", this, c2f_Clans_SetMemberRank);
|
||||
ExternalInterface.addCallback("c2f_Clans_ChangeHandle", this, c2f_Clans_ChangeHandle);
|
||||
ExternalInterface.addCallback("c2f_Clans_GetMembers", this, c2f_Clans_GetMembers);
|
||||
|
||||
ExternalInterface.addCallback("c2f_Clans_Leave", this, c2f_Clans_Leave);
|
||||
ExternalInterface.addCallback("c2f_Clans_SendJoinRequest", this, c2f_Clans_SendJoinRequest);
|
||||
ExternalInterface.addCallback("c2f_Clans_SendJoinInvitation", this, c2f_Clans_SendJoinInvitation);
|
||||
|
||||
super.VOnFinishedLoading();
|
||||
}
|
||||
|
||||
public function OnShow():Void
|
||||
{
|
||||
super.OnShow();
|
||||
|
||||
mcMail._visible = false;
|
||||
|
||||
if ( mMovieClipList.length > 0 )
|
||||
{
|
||||
CleanUpMoveClipList( mMovieClipList );
|
||||
}
|
||||
|
||||
btnRequest._visible = false;
|
||||
btnBlockedUsers._visible = false;
|
||||
btnAcceptInvite._visible = false;
|
||||
btnLeaveClan._visible = false;
|
||||
btnInvite._visible = false;
|
||||
tfUserToAdd._visible = false;
|
||||
|
||||
//tfClanName.text = "";
|
||||
//tfClanDescription.text = "";
|
||||
|
||||
mMovieClipList = new Array();
|
||||
mCurrentPage = 0;
|
||||
GoToPage( 1 );
|
||||
|
||||
if ( tfClanName.text.length > 0 )
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_GetProperties", tfClanName.text);
|
||||
ExternalInterface.call("f2c_Clans_GetMembers", tfClanName.text);
|
||||
}
|
||||
}
|
||||
|
||||
public function Back():Void
|
||||
{
|
||||
LobbyInterface.Instance.ShowLastScreen();
|
||||
}
|
||||
|
||||
public function SetClanName( name:String ):Void
|
||||
{
|
||||
ConsoleWindow.Trace("Setting clan name to " + name);
|
||||
tfClanName.text = name;
|
||||
}
|
||||
|
||||
private function AddListEntry( username:String, rank:String, _profileImageIndex:Number ):MovieClip
|
||||
{
|
||||
var clanEntry:MovieClip = attachMovie("ClanMemberListEntry", "mcClanEntry" + mMovieClipList.length, getNextHighestDepth() );
|
||||
clanEntry._visible = false;
|
||||
clanEntry.tfUserName.text = username;
|
||||
clanEntry.tfRank.text = rank;
|
||||
mMovieClipList.push( clanEntry );
|
||||
//ConsoleWindow.Trace("Adding entry: " + clanEntry);
|
||||
|
||||
var self:ClanGeneralScreen = this;
|
||||
//clanEntry.onPress = function() { self.OnSelectClan( this ); }
|
||||
|
||||
return clanEntry;
|
||||
}
|
||||
|
||||
public function c2f_Clans_GetProperties(resultIdentifier:String, clanDescription:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_GetProperties_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
// clanDescription should be a valid string
|
||||
tfClanDescription.text = clanDescription;
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function c2f_Clans_GetMembers():Void
|
||||
{
|
||||
var success:Boolean = false;
|
||||
var resultIdentifier:String = arguments[0];
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_GetMembers_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
success = true;
|
||||
break;
|
||||
}
|
||||
|
||||
ConsoleWindow.Trace("ClanGeneralScreen.c2f_Clans_GetMembers(), resultIdentifier = " + resultIdentifier);
|
||||
|
||||
if ( success )
|
||||
{
|
||||
mIsMyClan = false;
|
||||
var username:String = LobbyInterface.Instance.GetUsername();
|
||||
var clanLeader:String = arguments[1];
|
||||
mIsClanLeader = false;
|
||||
if ( clanLeader == username )
|
||||
{
|
||||
mIsMyClan = true;
|
||||
mIsClanLeader = true;
|
||||
}
|
||||
AddListEntry( clanLeader, "LEADER", 1 );
|
||||
var clanMembersOtherThanLeader:Number = arguments.length - 2;
|
||||
for (var i:Number=0; i < clanMembersOtherThanLeader; i++)
|
||||
{
|
||||
var clanMember:String = arguments[2+i];
|
||||
AddListEntry( clanMember, "MEMBER", 1 );
|
||||
if ( clanMember == username )
|
||||
{
|
||||
mIsMyClan = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ( mIsMyClan )
|
||||
{
|
||||
btnLeaveClan._visible = true;
|
||||
btnBlockedUsers._visible = true;
|
||||
btnAcceptInvite._visible = false;
|
||||
btnRequest._visible = false;
|
||||
btnInvite._visible = true;
|
||||
tfUserToAdd._visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
btnLeaveClan._visible = false;
|
||||
btnBlockedUsers._visible = false;
|
||||
btnAcceptInvite._visible = false;
|
||||
btnRequest._visible = true;
|
||||
}
|
||||
|
||||
OnMoveClipListUpdated();
|
||||
ShowPage(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function ShowBlockedUsers():Void
|
||||
{
|
||||
ClanBlockListScreen.Instance.SetClanName( tfClanName.text );
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.CLAN_BLOCK_LIST );
|
||||
}
|
||||
|
||||
public function f2c_Clans_Create():Void
|
||||
{
|
||||
}
|
||||
|
||||
public function f2c_Clans_SetProperties():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_SetProperties", clanHandle_EditBox.text,clans_Description_EditBox.text);
|
||||
}
|
||||
|
||||
public function f2c_Clans_SetMyMemberProperties():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_SetMyMemberProperties", clanHandle_EditBox.text,clans_Description_EditBox.text);
|
||||
}
|
||||
|
||||
public function f2c_Clans_GrantLeader():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_GrantLeader", clanHandle_EditBox.text,clans_targetHandle_EditBox.text);
|
||||
}
|
||||
|
||||
public function f2c_Clans_SetSubleaderStatus():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_SetSubleaderStatus", clanHandle_EditBox.text,
|
||||
clans_SetSubleaderStatus_targetHandle_EditBox.text,
|
||||
clans_SetSubleaderStatus_setToSubleader_Checkbox.selected);
|
||||
}
|
||||
|
||||
public function f2c_Clans_SetMemberRank():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_SetMemberRank", clanHandle_EditBox.text,clans_SetMemberRank_targetHandle_EditBox.text,
|
||||
clans_SetMemberRank_newRank_EditBox.text);
|
||||
}
|
||||
|
||||
public function f2c_Clans_ChangeHandle():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_ChangeHandle", clanHandle_EditBox.text,clans_ChangeHandle_newClanHandle_EditBox.text);
|
||||
}
|
||||
|
||||
public function c2f_Clans_SetProperties(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_SetProperties_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_SetProperties_MUST_BE_LEADER":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function c2f_Clans_SetMyMemberProperties(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_SetMyMemberProperties_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_SetMyMemberProperties_NOT_IN_CLAN":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function c2f_Clans_GrantLeader(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_GrantLeader_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_GrantLeader_MUST_BE_LEADER":
|
||||
break;
|
||||
case "Clans_GrantLeader_UNKNOWN_TARGET_HANDLE":
|
||||
break;
|
||||
case "Clans_GrantLeader_CANNOT_PERFORM_ON_SELF":
|
||||
break;
|
||||
case "Clans_GrantLeader_TARGET_NOT_IN_CLAN":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function c2f_Clans_SetSubleaderStatus(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_SetSubleaderStatus_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_SetProperties_MUST_BE_LEADER":
|
||||
break;
|
||||
case "Clans_SetSubleaderStatus_UNKNOWN_TARGET_HANDLE":
|
||||
break;
|
||||
case "Clans_SetSubleaderStatus_CANNOT_PERFORM_ON_SELF":
|
||||
break;
|
||||
case "Clans_SetSubleaderStatus_TARGET_NOT_IN_CLAN":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function c2f_Clans_SetMemberRank(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_SetMemberRank_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_SetMemberRank_MUST_BE_LEADER":
|
||||
break;
|
||||
case "Clans_SetMemberRank_UNKNOWN_TARGET_HANDLE":
|
||||
break;
|
||||
case "Clans_SetMemberRank_CANNOT_PERFORM_ON_SELF":
|
||||
break;
|
||||
case "Clans_SetMemberRank_TARGET_NOT_IN_CLAN":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function c2f_Clans_ChangeHandle(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_ChangeHandle_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_ChangeHandle_MUST_BE_LEADER":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function HideMail():Void
|
||||
{
|
||||
mcMail._visible = false;
|
||||
}
|
||||
|
||||
public function ShowLeaveClanMail():Void
|
||||
{
|
||||
mcMail.Clear();
|
||||
mcMail.SetButton( 1, "CANCEL", Delegate.create(this, HideMail) );
|
||||
mcMail.SetButton( 2, "LEAVE", Delegate.create(this, LeaveClan) );
|
||||
|
||||
mcMail.SetTitle( "LEAVE CLAN" );
|
||||
mcMail.SetToField( tfClanName.text );
|
||||
mcMail.DisableToField();
|
||||
mcMail.SetCheckBox( "DISBAND CLAN" );
|
||||
mcMail.swapDepths( getNextHighestDepth() );
|
||||
mcMail._visible = true;
|
||||
}
|
||||
|
||||
public function LeaveClan():Void
|
||||
{
|
||||
//emailStatus_EditBox.text (4th param), Kevin - The email system supports a numerical status for emails that is game-specific.
|
||||
// For example, you might have 23 represent an email reporting match statistics.
|
||||
ExternalInterface.call("f2c_Clans_Leave", [
|
||||
tfClanName.text, mcMail.GetSubjectField(), mcMail.GetMsgField(), "0",
|
||||
mcMail.IsCheckBoxOn()], _root);
|
||||
HideMail();
|
||||
Back();
|
||||
}
|
||||
|
||||
public function c2f_Clans_Leave(resultIdentifier:String, wasDissolved:Boolean, newClanLeader:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_Leave_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_Leave_NOT_IN_CLAN":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
ConsoleWindow.Trace("c2f_Clans_Leave(), resultIdentifier = " + resultIdentifier );
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
|
||||
//ConsoleWindow.Trace("c2f_Clans_Leave(), resultIdentifier = " + resultIdentifier );
|
||||
}
|
||||
|
||||
public function SendJoinRequestEmail():Void
|
||||
{
|
||||
mcMail.Clear();
|
||||
mcMail.SetButton( 1, "CANCEL", Delegate.create(this, HideMail) );
|
||||
mcMail.SetButton( 2, "SEND REQUEST", Delegate.create(this, SendJoinRequest) );
|
||||
|
||||
mcMail.SetTitle( "JOIN CLAN" );
|
||||
mcMail.SetToField( tfClanName.text );
|
||||
mcMail.DisableToField();
|
||||
mcMail.swapDepths( getNextHighestDepth() );
|
||||
mcMail._visible = true;
|
||||
}
|
||||
|
||||
public function SendJoinRequest():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_SendJoinRequest",
|
||||
tfClanName.text, mcMail.GetSubjectField(), mcMail.GetMsgField(), "0"
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
public function c2f_Clans_SendJoinRequest(resultIdentifier:String, clanJoined:Boolean):Void
|
||||
{
|
||||
ConsoleWindow.Trace("c2f_Clans_SendJoinRequest() resultIdentifier = " + resultIdentifier);
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_SendJoinRequest_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_SendJoinRequest_ALREADY_IN_CLAN":
|
||||
break;
|
||||
case "Clans_SendJoinRequest_BANNED":
|
||||
break;
|
||||
case "Clans_SendJoinRequest_REQUEST_ALREADY_PENDING":
|
||||
break;
|
||||
case "Clans_SendJoinRequest_ALREADY_INVITED":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
HideMail();
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function ShowSendJoinInvitationMail():Void
|
||||
{
|
||||
mcMail.Clear();
|
||||
mcMail.SetButton( 1, "CANCEL", Delegate.create(this, HideMail) );
|
||||
mcMail.SetButton( 2, "SEND INVITE", Delegate.create(this, SendJoinInvitation) );
|
||||
|
||||
mcMail.SetTitle( "INVITE USER TO CLAN" );
|
||||
mcMail.SetToField( tfUserToAdd.text );
|
||||
mcMail.DisableToField();
|
||||
mcMail.swapDepths( getNextHighestDepth() );
|
||||
mcMail._visible = true;
|
||||
}
|
||||
|
||||
public function SendJoinInvitation():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_SendJoinInvitation", tfClanName.text, mcMail.GetSubjectField(), mcMail.GetMsgField(), "0",
|
||||
tfUserToAdd.text);
|
||||
}
|
||||
|
||||
public function c2f_Clans_SendJoinInvitation(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
ConsoleWindow.Trace("c2f_Clans_SendJoinInvitation(), success");
|
||||
HideMail();
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function c2f_Clans_WithdrawJoinInvitation(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_WithdrawJoinInvitation_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_WithdrawJoinInvitation_UNKNOWN_TARGET_HANDLE":
|
||||
break;
|
||||
case "Clans_WithdrawJoinInvitation_CANNOT_PERFORM_ON_SELF":
|
||||
break;
|
||||
case "Clans_WithdrawJoinInvitation_NO_SUCH_INVITATION_EXISTS":
|
||||
break;
|
||||
case "Clans_WithdrawJoinInvitation_MUST_BE_LEADER_OR_SUBLEADER":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,454 @@
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.TextArea;
|
||||
import gfx.controls.Button;
|
||||
import mx.utils.Delegate;
|
||||
import gfx.controls.CheckBox;
|
||||
|
||||
class Screens.ClanInvitedRequestedScreen extends ScreenWithPageNavigator
|
||||
{
|
||||
private var btnBack:Button;
|
||||
private var tfClanName:TextField;
|
||||
private var tfClanDescription:TextField;
|
||||
|
||||
private var mcMail:Mail;
|
||||
public var mcSelectedEntry:MovieClip;
|
||||
|
||||
public function ClanInvitedRequestedScreen()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing CreateClan");
|
||||
|
||||
mScreenId = ScreenID.CLAN_INVITED_REQUESTED;
|
||||
mScreenTabId = ScreenTab.ID_CLANS;
|
||||
|
||||
mEntriesPerPage = 10;
|
||||
mFirstEntryX = 500;
|
||||
mFirstEntryY = -200;
|
||||
mDeltaY = 10;
|
||||
}
|
||||
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
//Add click event for buttons
|
||||
btnBack.addEventListener("click", this, "Back");
|
||||
|
||||
//Add callbacks for C++
|
||||
ExternalInterface.addCallback("c2f_Clans_DownloadInvitationList", this, c2f_Clans_DownloadInvitationList);
|
||||
ExternalInterface.addCallback("c2f_Clans_DownloadRequestList", this, c2f_Clans_DownloadRequestList);
|
||||
ExternalInterface.addCallback("c2f_Clans_AcceptJoinRequest", this, c2f_Clans_AcceptJoinRequest);
|
||||
ExternalInterface.addCallback("c2f_Clans_RejectJoinRequest", this, c2f_Clans_RejectJoinRequest);
|
||||
ExternalInterface.addCallback("c2f_Clans_WithdrawJoinRequest", this, c2f_Clans_WithdrawJoinRequest);
|
||||
ExternalInterface.addCallback("c2f_Clans_AcceptJoinInvitation", this, c2f_Clans_AcceptJoinInvitation);
|
||||
ExternalInterface.addCallback("c2f_Clans_RejectJoinInvitation", this, c2f_Clans_RejectJoinInvitation);
|
||||
|
||||
super.VOnFinishedLoading();
|
||||
}
|
||||
|
||||
public function OnShow():Void
|
||||
{
|
||||
super.OnShow();
|
||||
mcMail._visible = false;
|
||||
|
||||
tfClanName.text = "";
|
||||
tfClanDescription.text = "";
|
||||
|
||||
RefreshScreen();
|
||||
}
|
||||
|
||||
public function RefreshScreen():Void
|
||||
{
|
||||
if ( mMovieClipList.length > 0 )
|
||||
{
|
||||
CleanUpMoveClipList( mMovieClipList );
|
||||
}
|
||||
|
||||
mMovieClipList = new Array();
|
||||
mCurrentPage = 0;
|
||||
GoToPage( 1 );
|
||||
DownloadLists();
|
||||
}
|
||||
|
||||
public function Back():Void
|
||||
{
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.CLAN_ROOT );
|
||||
}
|
||||
|
||||
private function DownloadLists():Void
|
||||
{
|
||||
ConsoleWindow.Trace("DownloadLists");
|
||||
ExternalInterface.call("f2c_Clans_DownloadInvitationList");
|
||||
ExternalInterface.call("f2c_Clans_DownloadRequestList");
|
||||
}
|
||||
|
||||
public function c2f_Clans_DownloadInvitationList():Void
|
||||
{
|
||||
var resultIdentifier:String = arguments[0];
|
||||
ConsoleWindow.Trace("c2f_Clans_DownloadInvitationList... resultIdentifier: " + resultIdentifier);
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
|
||||
var numResults:Number = arguments.length-1;
|
||||
for (var i:Number=0; i < numResults; i++)
|
||||
{
|
||||
var clanHandle:String = arguments[1 + i];
|
||||
AddListEntryIncomingInvite( clanHandle, 0 );
|
||||
//AddListEntry( clanHandle, "INVITED", 0, false );
|
||||
}
|
||||
|
||||
ConsoleWindow.Trace("c2f_Clans_DownloadInvitationList(), arguments = " + arguments);
|
||||
|
||||
//debug data:
|
||||
//for (var i:Number=0; i < 15; i++)
|
||||
{
|
||||
// AddListEntry( "test clan" + i, "INVITED" );
|
||||
}
|
||||
|
||||
OnMoveClipListUpdated();
|
||||
ShowPage(1);
|
||||
}
|
||||
|
||||
public function c2f_Clans_DownloadRequestList():Void
|
||||
{
|
||||
var resultIdentifier:String = arguments[0];
|
||||
ConsoleWindow.Trace("c2f_Clans_DownloadRequestList... resultIdentifier: " + resultIdentifier);
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
|
||||
var joinRequestsToMyClan:Number = arguments[1];
|
||||
var joinRequestsFromMe:Number = arguments[2];
|
||||
for (var i:Number=0; i < joinRequestsToMyClan; i++)
|
||||
{
|
||||
var targetClan:String = arguments[3+i*3+0];
|
||||
var dateSent:String = arguments[3+i*3+1];
|
||||
var joinRequestSender:String = arguments[3 + i * 3 + 2];
|
||||
AddListEntryIncomingRequest( targetClan, 0, joinRequestSender );
|
||||
//AddListEntry( targetClan, "REQUESTED", 0, false, joinRequestSender );
|
||||
}
|
||||
|
||||
for (var i:Number=0; i < joinRequestsFromMe; i++)
|
||||
{
|
||||
var targetClan:String = arguments[3+i*3+joinRequestsToMyClan*3+0];
|
||||
var dateSent:String = arguments[3+i*3+joinRequestsToMyClan*3+1];
|
||||
var joinRequestSender:String = arguments[3 + i * 3 + joinRequestsToMyClan * 3 + 2];
|
||||
AddListEntryOutgoingRequest( targetClan, 0, joinRequestSender );
|
||||
//AddListEntry( targetClan, "REQUESTED", 0, true, joinRequestSender );
|
||||
}
|
||||
|
||||
OnMoveClipListUpdated();
|
||||
}
|
||||
|
||||
private function AddListEntry( clanToAdd:String, invitedOrRequested:String, _profileImageIndex:Number, userName:String ):MovieClip
|
||||
{
|
||||
var clanEntry:MovieClip = attachMovie("ClanInviteListEntry", "mcClanEntry" + mMovieClipList.length, getNextHighestDepth() );
|
||||
clanEntry._visible = false;
|
||||
clanEntry.tfClanName.text = clanToAdd;
|
||||
clanEntry.tfInvitation.text = invitedOrRequested;
|
||||
clanEntry.username = userName;
|
||||
mMovieClipList.push( clanEntry );
|
||||
ConsoleWindow.Trace("Adding entry: " + clanEntry);
|
||||
|
||||
var self:ClanInvitedRequestedScreen = this;
|
||||
clanEntry.mcDelete.onPress = function() { self.RemoveEntry( this._parent ); }
|
||||
|
||||
return clanEntry;
|
||||
}
|
||||
|
||||
private function AddListEntryIncomingInvite( clan:String, clanProfileImageIndex:Number )
|
||||
{
|
||||
var entry:MovieClip = AddListEntry( clan, "INVITE", clanProfileImageIndex, LobbyInterface.Instance.GetUsername() );
|
||||
|
||||
var self:ClanInvitedRequestedScreen = this;
|
||||
entry.tfInvitation.onPress = entry.mcImage.onPress = function() { self.ShowJoinInvitationMail( this._parent ); }
|
||||
}
|
||||
|
||||
private function AddListEntryIncomingRequest( clan:String, clanProfileImageIndex:Number, senderName:String ):Void
|
||||
{
|
||||
var entry:MovieClip = AddListEntry( clan, "REQUESTED", clanProfileImageIndex, senderName );
|
||||
|
||||
var self:ClanInvitedRequestedScreen = this;
|
||||
entry.tfInvitation.onPress = entry.mcImage.onPress = function() { self.ShowJoinRequestMail( this._parent ); }
|
||||
}
|
||||
|
||||
private function AddListEntryOutgoingRequest( clan:String, clanProfileImageIndex:Number ):Void
|
||||
{
|
||||
var entry:MovieClip = AddListEntry( clan, "REQUESTED", clanProfileImageIndex, LobbyInterface.Instance.GetUsername() );
|
||||
|
||||
var self:ClanInvitedRequestedScreen = this;
|
||||
entry.tfInvitation.onPress = entry.mcImage.onPress = function() { self.ShowWithdrawJoinRequestMail( this._parent ); }
|
||||
}
|
||||
|
||||
private function OnShowMovieClipEntry( mcEntry:MovieClip, index:Number ):Void
|
||||
{
|
||||
super.OnShowMovieClipEntry( mcEntry, index );
|
||||
}
|
||||
|
||||
private function OnHideMovieClipEntry( mcEntry:MovieClip ):Void
|
||||
{
|
||||
mcEntry.mcDelete.onPress = null;
|
||||
mcEntry.mcImage.onPress = null;
|
||||
mcEntry.tfInvitation.onPress = null;
|
||||
}
|
||||
|
||||
/* public function OnSelectClan( clanEntry:MovieClip ):Void
|
||||
{
|
||||
//tfClanName.text = clanEntry.tfClanName.text;
|
||||
//tfClanDescription.text = clanEntry.tfClanName.text + "'s description...";
|
||||
//ConsoleWindow.Trace("from me? " + clanEntry.fromMe);
|
||||
//ConsoleWindow.Trace("sender name = " + clanEntry.sender);
|
||||
mcSelectedEntry = clanEntry;
|
||||
if ( !clanEntry.fromMe )
|
||||
{
|
||||
ShowJoinRequestMail(clanEntry.sender);
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowWithdrawJoinRequestMail( clanEntry.tfClanName.text );
|
||||
}
|
||||
}*/
|
||||
|
||||
public function RemoveEntry( clanEntry:MovieClip ):Void
|
||||
{
|
||||
//f2c_RemoveFriend( clanEntry.tfUsername.text );
|
||||
RemoveEntryFromList( clanEntry, mMovieClipList );
|
||||
}
|
||||
|
||||
public function ShowJoinRequestMail( clanEntry:MovieClip ):Void
|
||||
{
|
||||
mcSelectedEntry = clanEntry;
|
||||
mcMail.Clear();
|
||||
mcMail.SetButton( 1, "ACCEPT", Delegate.create(this, SendAcceptJoinRequest) );
|
||||
mcMail.SetButton( 2, "REJECT", Delegate.create(this, SendRejectJoinRequest) );
|
||||
mcMail.SetButton( 3, "CANCEL", Delegate.create(this, HideMail) );
|
||||
|
||||
mcMail.SetTitle( clanEntry.username + " WANTS TO JOIN YOUR CLAN" );
|
||||
mcMail.SetToField( clanEntry.username );
|
||||
mcMail.DisableToField();
|
||||
mcMail.SetCheckBox( "FAIL IF ALREADY IN CLAN" );
|
||||
mcMail.swapDepths( getNextHighestDepth() );
|
||||
mcMail._visible = true;
|
||||
}
|
||||
|
||||
public function HideMail():Void
|
||||
{
|
||||
mcMail._visible = false;
|
||||
}
|
||||
|
||||
public function SendAcceptJoinRequest():Void
|
||||
{
|
||||
ConsoleWindow.Trace( "clan name = " + mcSelectedEntry.tfClanName.text + ", subject = " + mcMail.GetSubjectField() + ", msg = " + mcMail.GetMsgField() +
|
||||
", sender = " +
|
||||
mcSelectedEntry.username + ", check box = " + mcMail.IsCheckBoxOn() );
|
||||
ExternalInterface.call("f2c_Clans_AcceptJoinRequest", mcSelectedEntry.tfClanName.text, mcMail.GetSubjectField(), mcMail.GetMsgField(), "0",
|
||||
mcSelectedEntry.username, mcMail.IsCheckBoxOn());
|
||||
//HideMail();
|
||||
}
|
||||
|
||||
public function SendRejectJoinRequest():Void
|
||||
{
|
||||
//ConsoleWindow.Trace( "clan name = " + mcSelectedEntry.tfClanName.text + ", subject = " + mcMail.GetSubjectField() + ", msg = " + mcMail.GetMsgField() +
|
||||
// ", sender = " +
|
||||
// mcSelectedEntry.username + ", check box = " + mcMail.IsCheckBoxOn() );
|
||||
ExternalInterface.call("f2c_Clans_RejectJoinRequest", mcSelectedEntry.tfClanName.text, mcMail.GetSubjectField(), mcMail.GetMsgField(), "0",
|
||||
mcSelectedEntry.username);
|
||||
//HideMail();
|
||||
}
|
||||
|
||||
public function c2f_Clans_AcceptJoinRequest(resultIdentifier:String):Void
|
||||
{
|
||||
ConsoleWindow.Trace("c2f_Clans_AcceptJoinRequest(), resultIdentifier = " + resultIdentifier);
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_AcceptJoinRequest_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_AcceptJoinRequest_NOT_IN_CLAN":
|
||||
break;
|
||||
case "Clans_AcceptJoinRequest_MUST_BE_LEADER_OR_SUBLEADER":
|
||||
break;
|
||||
case "Clans_AcceptJoinRequest_UNKNOWN_TARGET_HANDLE":
|
||||
break;
|
||||
case "Clans_AcceptJoinRequest_CANNOT_PERFORM_ON_SELF":
|
||||
break;
|
||||
case "Clans_AcceptJoinRequest_TARGET_ALREADY_IN_CLAN":
|
||||
break;
|
||||
case "Clans_AcceptJoinRequest_TARGET_IS_BANNED":
|
||||
break;
|
||||
case "Clans_AcceptJoinRequest_REQUEST_NOT_PENDING":
|
||||
break;
|
||||
case "Clans_AcceptJoinRequest_TARGET_ALREADY_IN_DIFFERENT_CLAN":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
HideMail();
|
||||
RefreshScreen();
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function c2f_Clans_RejectJoinRequest(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_RejectJoinRequest_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_RejectJoinRequest_NOT_IN_CLAN":
|
||||
break;
|
||||
case "Clans_RejectJoinRequest_MUST_BE_LEADER_OR_SUBLEADER":
|
||||
break;
|
||||
case "Clans_RejectJoinRequest_REQUESTING_USER_HANDLE_UNKNOWN":
|
||||
break;
|
||||
case "Clans_RejectJoinRequest_NO_SUCH_INVITATION_EXISTS":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
HideMail();
|
||||
RefreshScreen();
|
||||
ConsoleWindow.Trace("c2f_Clans_RejectJoinRequest(), resultIdentifier = " + resultIdentifier);
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function ShowWithdrawJoinRequestMail( clanEntry:MovieClip ):Void
|
||||
{
|
||||
mcSelectedEntry = clanEntry;
|
||||
mcMail.Clear();
|
||||
mcMail.SetButton( 1, "WITHDRAW", Delegate.create(this, WithdrawJoinRequest) );
|
||||
mcMail.SetButton( 2, "CANCEL", Delegate.create(this, HideMail) );
|
||||
|
||||
mcMail.SetTitle( "YOU HAVE A PENDING INVITATION TO JOIN CLAN " + clanEntry.tfClanName.text );
|
||||
mcMail.SetToField( clanEntry.tfClanName.text );
|
||||
mcMail.DisableToField();
|
||||
mcMail.swapDepths( getNextHighestDepth() );
|
||||
mcMail._visible = true;
|
||||
}
|
||||
|
||||
public function WithdrawJoinRequest():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_WithdrawJoinRequest", mcSelectedEntry.tfClanName.text, mcMail.GetSubjectField(), mcMail.GetMsgField(), "0"
|
||||
);
|
||||
}
|
||||
|
||||
public function c2f_Clans_WithdrawJoinRequest(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_WithdrawJoinRequest_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_WithdrawJoinRequest_ALREADY_IN_CLAN":
|
||||
break;
|
||||
case "Clans_WithdrawJoinRequest_NO_SUCH_INVITATION_EXISTS":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
HideMail();
|
||||
RefreshScreen();
|
||||
ConsoleWindow.Trace("c2f_Clans_WithdrawJoinRequest(), resultIdentifier = " + resultIdentifier);
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function ShowJoinInvitationMail( clanEntry:MovieClip ):Void
|
||||
{
|
||||
mcSelectedEntry = clanEntry;
|
||||
mcMail.Clear();
|
||||
mcMail.SetButton( 1, "ACCEPT", Delegate.create(this, AcceptJoinInvitation) );
|
||||
mcMail.SetButton( 2, "REJECT", Delegate.create(this, RejectJoinInvitation) );
|
||||
mcMail.SetButton( 3, "CANCEL", Delegate.create(this, HideMail) );
|
||||
|
||||
mcMail.SetTitle( "YOU ARE INVITED TO JOIN CLAN " + clanEntry.tfClanName.text );
|
||||
mcMail.SetToField( clanEntry.tfClanName.text );
|
||||
mcMail.DisableToField();
|
||||
mcMail.SetCheckBox( "FAIL IF ALREADY IN CLAN" );
|
||||
mcMail.swapDepths( getNextHighestDepth() );
|
||||
mcMail._visible = true;
|
||||
}
|
||||
|
||||
public function AcceptJoinInvitation():Void
|
||||
{
|
||||
ConsoleWindow.Trace("trying to accept join invitation... clan name = " + mcMail.GetToField());
|
||||
ExternalInterface.call("f2c_Clans_AcceptJoinInvitation", mcMail.GetToField(), mcMail.GetSubjectField(), mcMail.GetMsgField(), "0",
|
||||
mcMail.IsCheckBoxOn());
|
||||
}
|
||||
|
||||
public function c2f_Clans_AcceptJoinInvitation(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_AcceptJoinInvitation_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_AcceptJoinInvitation_NO_SUCH_INVITATION_EXISTS":
|
||||
break;
|
||||
case "Clans_AcceptJoinInvitation_ALREADY_IN_DIFFERENT_CLAN":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
HideMail();
|
||||
RefreshScreen();
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function RejectJoinInvitation():Void
|
||||
{
|
||||
ConsoleWindow.Trace("RejectJoinInvitation(), clan = " + mcMail.GetToField());
|
||||
ExternalInterface.call("f2c_Clans_RejectJoinInvitation", mcMail.GetToField, mcMail.GetSubjectField(), mcMail.GetMsgField(), "0"
|
||||
);
|
||||
}
|
||||
|
||||
public function c2f_Clans_RejectJoinInvitation(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_RejectJoinInvitation_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "Clans_RejectJoinInvitation_NO_SUCH_INVITATION_EXISTS":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
HideMail();
|
||||
RefreshScreen();
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,267 @@
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.Button;
|
||||
|
||||
class Screens.ClanQueryScreen extends Screen
|
||||
{
|
||||
private var clans_GetMemberProperties_clanHandle_EditBox:TextInput;
|
||||
private var clans_GetMemberProperties_targetHandle_EditBox:TextInput;
|
||||
private var clanHandle_EditBox:TextInput;
|
||||
private var clans_GetMemberProperties_Button:Button;
|
||||
private var clans_GetBlacklist_Button:Button;
|
||||
private var clans_GetMembers_Button:Button;
|
||||
private var clans_GetProperties_Button:Button;
|
||||
private var clans_GetList_Button:Button;
|
||||
private var clans_DownloadRequestList_Button:Button;
|
||||
private var clans_DownloadInvitationList_Button:Button;
|
||||
private var clans_Get_Button:Button;
|
||||
|
||||
public function ClanQueryScreen()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing ClanQueryScreen");
|
||||
|
||||
mScreenId = ScreenID.CLAN_QUERY;
|
||||
mScreenTabId = ScreenTab.ID_CLANS;;
|
||||
}
|
||||
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
//Add click event for buttons
|
||||
// clans_GetProperties_Button.addEventListener("click", this, "f2c_Clans_GetProperties");
|
||||
clans_GetMemberProperties_Button.addEventListener("click", this, "f2c_Clans_GetMemberProperties");
|
||||
// clans_Get_Button.addEventListener("click", this, "f2c_Clans_Get");
|
||||
//clans_DownloadInvitationList_Button.addEventListener("click", this, "f2c_Clans_DownloadInvitationList");
|
||||
//clans_DownloadRequestList_Button.addEventListener("click", this, "f2c_Clans_DownloadRequestList");
|
||||
// clans_GetBlacklist_Button.addEventListener("click", this, "f2c_Clans_GetBlacklist");
|
||||
// clans_GetMembers_Button.addEventListener("click", this, "f2c_Clans_GetMembers");
|
||||
clans_GetList_Button.addEventListener("click", this, "f2c_Clans_GetList");
|
||||
|
||||
//Add callbacks for C++
|
||||
// ExternalInterface.addCallback("c2f_Clans_GetProperties", this, c2f_Clans_GetProperties);
|
||||
ExternalInterface.addCallback("c2f_Clans_GetMemberProperties", this, c2f_Clans_GetMemberProperties);
|
||||
// ExternalInterface.addCallback("c2f_Clans_Get", this, c2f_Clans_Get);
|
||||
//ExternalInterface.addCallback("c2f_Clans_DownloadInvitationList", this, c2f_Clans_DownloadInvitationList);
|
||||
//ExternalInterface.addCallback("c2f_Clans_DownloadRequestList", this, c2f_Clans_DownloadRequestList);
|
||||
// ExternalInterface.addCallback("c2f_Clans_GetBlacklist", this, c2f_Clans_GetBlacklist);
|
||||
// ExternalInterface.addCallback("c2f_Clans_GetMembers", this, c2f_Clans_GetMembers);
|
||||
// ExternalInterface.addCallback("c2f_Clans_GetList", this, c2f_Clans_GetList);
|
||||
|
||||
super.VOnFinishedLoading();
|
||||
}
|
||||
|
||||
public function f2c_Clans_GetProperties():Void
|
||||
{
|
||||
// ExternalInterface.call("f2c_Clans_GetProperties", clanHandle_EditBox.text);
|
||||
}
|
||||
|
||||
public function f2c_Clans_GetMemberProperties():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_GetMemberProperties", clans_GetMemberProperties_clanHandle_EditBox.text,
|
||||
clans_GetMemberProperties_targetHandle_EditBox.text);
|
||||
}
|
||||
|
||||
public function f2c_Clans_Get():Void
|
||||
{
|
||||
// ExternalInterface.call("f2c_Clans_Get");
|
||||
}
|
||||
|
||||
public function f2c_Clans_DownloadInvitationList():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_DownloadInvitationList");
|
||||
}
|
||||
public function f2c_Clans_DownloadRequestList():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_DownloadRequestList");
|
||||
}
|
||||
|
||||
/* public function f2c_Clans_GetBlacklist():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_GetBlacklist", clanHandle_EditBox.text);
|
||||
}
|
||||
*/
|
||||
public function f2c_Clans_GetMembers():Void
|
||||
{
|
||||
// ExternalInterface.call("f2c_Clans_GetMembers", clanHandle_EditBox.text);
|
||||
}
|
||||
|
||||
public function f2c_Clans_GetList():Void
|
||||
{
|
||||
// ExternalInterface.call("f2c_Clans_GetList");
|
||||
}
|
||||
|
||||
/* public function c2f_Clans_GetProperties(resultIdentifier:String, clanDescription:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_GetProperties_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
// clanDescription should be a valid string
|
||||
break;
|
||||
}
|
||||
}*/
|
||||
|
||||
public function c2f_Clans_GetMemberProperties(resultIdentifier:String, description:String, rank:Number, isSubleader:Boolean,
|
||||
clanMemberState:String, banReason:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_GetMemberProperties_TARGET_NOT_IN_CLAN":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
|
||||
switch (clanMemberState)
|
||||
{
|
||||
case "CMD_UNDEFINED":
|
||||
break;
|
||||
case "CMD_ACTIVE":
|
||||
break;
|
||||
case "CMD_BANNED":
|
||||
break;
|
||||
case "CMD_JOIN_INVITED":
|
||||
break;
|
||||
case "CMD_JOIN_REQUESTED":
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
/*
|
||||
public function c2f_Clans_Get():Void
|
||||
{
|
||||
var resultIdentifier:String = arguments[0];
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
var numClansReturned:Number = arguments[1];
|
||||
var argumentIndex:Number=2;
|
||||
for (var i:Number=0; i < numClansReturned; i++)
|
||||
{
|
||||
var clanName:String = arguments[argumentIndex++];
|
||||
var description:String = arguments[argumentIndex++];
|
||||
var clanLeader:String = arguments[argumentIndex++];
|
||||
var clanMembersOtherThanLeader:Number = arguments[argumentIndex++];
|
||||
for (var j:Number=0; j < clanMembersOtherThanLeader; j++)
|
||||
{
|
||||
var clanMemberName:String = arguments[argumentIndex++];
|
||||
}
|
||||
}
|
||||
}*/
|
||||
/*
|
||||
public function c2f_Clans_DownloadInvitationList():Void
|
||||
{
|
||||
var resultIdentifier:String = arguments[0];
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
var numResults:Number = arguments.length-1;
|
||||
for (var i:Number=0; i < numResults; i++)
|
||||
|
||||
|
||||
{
|
||||
var clanHandle:String = arguments[1+i];
|
||||
}
|
||||
}
|
||||
|
||||
public function c2f_Clans_DownloadRequestList():Void
|
||||
{
|
||||
var resultIdentifier:String = arguments[0];
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
var joinRequestsToMyClan:Number = arguments[1];
|
||||
var joinRequestsFromMe:Number = arguments[2];
|
||||
for (var i:Number=0; i < joinRequestsToMyClan; i++)
|
||||
{
|
||||
var targetClan:String = arguments[3+i*3+0];
|
||||
var dateSent:String = arguments[3+i*3+1];
|
||||
var joinRequestSender:String = arguments[2+i*3+2];
|
||||
}
|
||||
|
||||
for (var i:Number=0; i < joinRequestsFromMe; i++)
|
||||
{
|
||||
var targetClan:String = arguments[3+i*3+joinRequestsToMyClan*3+0];
|
||||
var dateSent:String = arguments[3+i*3+joinRequestsToMyClan*3+1];
|
||||
var joinRequestSender:String = arguments[3+i*3+joinRequestsToMyClan*3+2];
|
||||
}
|
||||
}*/
|
||||
|
||||
/* public function c2f_Clans_GetBlacklist(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_GetBlacklist_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}*/
|
||||
|
||||
/* public function c2f_Clans_GetMembers():Void
|
||||
{
|
||||
var resultIdentifier:String = arguments[0];
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Clans_GetMembers_UNKNOWN_CLAN":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
var clanLeader:String = arguments[1];
|
||||
var clanMembersOtherThanLeader:Number = arguments.length-2;
|
||||
for (var i:Number=0; i < clanMembersOtherThanLeader; i++)
|
||||
{
|
||||
var clanMember:String = arguments[2+i];
|
||||
}
|
||||
|
||||
}*/
|
||||
|
||||
/* public function c2f_Clans_GetList():Void
|
||||
{
|
||||
var resultIdentifier:String = arguments[0];
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
var numClanNames = arguments.length-1;
|
||||
for (var i:Number=0; i < numClanNames; i++)
|
||||
{
|
||||
var clanName:String = arguments[1+i];
|
||||
}
|
||||
} */
|
||||
}
|
||||
@ -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 );
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.Button;
|
||||
|
||||
class Screens.ConnectingToServerScreen extends Screen
|
||||
{
|
||||
private var failureBackButton:Button;
|
||||
|
||||
public function ConnectingToServerScreen()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing ConnectingToServerScreen");
|
||||
|
||||
mScreenId = ScreenID.CONNECTING_TO_SERVER;
|
||||
mScreenTabId = ScreenTab.ID_CONNECTION;
|
||||
}
|
||||
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
failureBackButton.visible=false;
|
||||
|
||||
//Add click event for buttons
|
||||
failureBackButton.addEventListener("click", this, "onPressedFailureBack");
|
||||
|
||||
|
||||
super.VOnFinishedLoading();
|
||||
}
|
||||
|
||||
|
||||
function onPressedFailureBack():Void
|
||||
{
|
||||
//_root.gotoAndPlay("Disconnected");
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.CONNECTION );
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,94 @@
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.Button;
|
||||
import gfx.controls.ProgressBar;
|
||||
import mx.transitions.easing.None;
|
||||
import mx.transitions.Tween;
|
||||
|
||||
class Screens.ConnectionScreen extends Screen
|
||||
{
|
||||
private var mcConnect:Button;
|
||||
private var mcCancel:Button;
|
||||
//private var mcProgress:ProgressBar;
|
||||
private var mcProgressBar:MovieClip;
|
||||
|
||||
private var tfConnectionFailed:TextField;
|
||||
|
||||
private var tfAddress:TextField;
|
||||
private var tfPort:TextField;
|
||||
|
||||
public function ConnectionScreen()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing ConnectionScreen");
|
||||
|
||||
mScreenId = ScreenID.CONNECTION;
|
||||
mScreenTabId = ScreenTab.ID_CONNECTION;
|
||||
tfConnectionFailed._visible = false;
|
||||
}
|
||||
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
mcConnect.addEventListener("click", this, "f2c_Connect");
|
||||
|
||||
//Add callbacks for C++
|
||||
ExternalInterface.addCallback("c2f_NotifyConnectingToServer", this, c2f_NotifyConnectingToServer);
|
||||
ExternalInterface.addCallback("c2f_NotifyConnectionResultFailure", this, c2f_NotifyConnectionResultFailure);
|
||||
ExternalInterface.addCallback("c2f_NotifyConnectionResultSuccess", this, c2f_NotifyConnectionResultSuccess);
|
||||
|
||||
super.VOnFinishedLoading();
|
||||
}
|
||||
|
||||
public function OnShow():Void
|
||||
{
|
||||
//ConsoleWindow.Trace( mcProgressBar.mcBar);
|
||||
mcProgressBar.mcBar._xscale = 0;
|
||||
}
|
||||
|
||||
public function f2c_Connect():Void
|
||||
{
|
||||
new Tween( mcProgressBar.mcBar, "_xscale", None.easeNone, 0, 100, 6, true );
|
||||
//mcProgress.setProgress( 2, 6 );
|
||||
ConsoleWindow.Trace("connecting to server");
|
||||
//ExternalInterface.call("f2c_Connect", "127.0.0.1", "60481");
|
||||
ExternalInterface.call("f2c_Connect", tfAddress.text, tfPort.text);
|
||||
|
||||
if ( LobbyInterface.Instance.IsInFlashMode() )
|
||||
{
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.LOGIN );
|
||||
}
|
||||
}
|
||||
|
||||
public function c2f_NotifyConnectingToServer():Void
|
||||
{
|
||||
//_root.gotoAndPlay("ConnectingToServer");
|
||||
//LobbyInterface.Instance.ShowScreen( ScreenID.CONNECTING_TO_SERVER );
|
||||
}
|
||||
|
||||
function c2f_NotifyConnectionResultFailure(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "CONNECTION_ATTEMPT_FAILED":
|
||||
break;
|
||||
case "ALREADY_CONNECTED":
|
||||
break;
|
||||
case "NO_FREE_INCOMING_CONNECTIONS":
|
||||
break;
|
||||
case "RSA_PUBLIC_KEY_MISMATCH":
|
||||
break;
|
||||
case "CONNECTION_BANNED":
|
||||
break;
|
||||
case "INVALID_PASSWORD":
|
||||
break;
|
||||
}
|
||||
|
||||
tfConnectionFailed.text=resultIdentifier;
|
||||
tfConnectionFailed._visible=true;
|
||||
}
|
||||
|
||||
function c2f_NotifyConnectionResultSuccess():Void
|
||||
{
|
||||
ConsoleWindow.Trace("ConnectionScreen... calling login");
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.LOGIN );
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,89 @@
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.TextArea;
|
||||
import gfx.controls.Button;
|
||||
import mx.utils.Delegate;
|
||||
import gfx.controls.CheckBox;
|
||||
|
||||
class Screens.CreateClan extends Screen
|
||||
{
|
||||
private var mcProfileImage:MovieClip;
|
||||
private var tiName:TextInput;
|
||||
private var taDescription:TextArea;
|
||||
private var cbInvitationOnly:CheckBox;
|
||||
private var btnCancel:Button;
|
||||
private var btnCreate:Button;
|
||||
private var btnChangeLogo:Button;
|
||||
|
||||
public function CreateClan()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing CreateClan");
|
||||
|
||||
mScreenId = ScreenID.CLAN_CREATE;
|
||||
mScreenTabId = ScreenTab.ID_CLANS;
|
||||
}
|
||||
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
//Add click event for buttons
|
||||
btnCancel.addEventListener("click", this, "Cancel");
|
||||
btnCreate.addEventListener("click", this, "Create");
|
||||
btnChangeLogo.addEventListener("click", this, "ChangeLogo");
|
||||
|
||||
//Add callbacks for C++
|
||||
ExternalInterface.addCallback("c2f_Clans_Create", this, c2f_Clans_Create);
|
||||
|
||||
super.VOnFinishedLoading();
|
||||
}
|
||||
|
||||
public function OnShow():Void
|
||||
{
|
||||
}
|
||||
|
||||
public function Cancel():Void
|
||||
{
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.CLAN_ROOT );
|
||||
}
|
||||
|
||||
public function Create():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_Clans_Create", tiName.text,
|
||||
false,
|
||||
cbInvitationOnly.selected,
|
||||
taDescription.text);
|
||||
|
||||
tiName.text = "";
|
||||
taDescription.text = "";
|
||||
cbInvitationOnly.selected = false;
|
||||
}
|
||||
|
||||
public function c2f_Clans_Create(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "PROFANITY_FILTER_CHECK_FAILED":
|
||||
break;
|
||||
case "Clans_Create_CLAN_HANDLE_IN_USE":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "Clans_Create_ALREADY_IN_A_CLAN":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.CLAN_MY_CLANS );
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function ChangeLogo():Void
|
||||
{
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.CHANGE_PHOTO );
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,328 @@
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.Button;
|
||||
import gfx.controls.CheckBox;
|
||||
import mx.utils.Delegate;
|
||||
|
||||
class Screens.EmailScreen extends ScreenWithPageNavigator
|
||||
{
|
||||
|
||||
private var emailSendRecipient0EditBox:TextInput;
|
||||
private var emailSendRecipient1EditBox:TextInput;
|
||||
private var emailSendRecipient2EditBox:TextInput;
|
||||
private var emailSendRecipient3EditBox:TextInput;
|
||||
private var emailSendRecipient4EditBox:TextInput;
|
||||
private var emailSendRecipient5EditBox:TextInput;
|
||||
private var emailSendRecipient6EditBox:TextInput;
|
||||
private var emailSendRecipient7EditBox:TextInput;
|
||||
private var emailSubjectEditBox:TextInput;
|
||||
private var emailBodyEditBox:TextInput;
|
||||
private var emailStatusEditBox:TextInput;
|
||||
private var deleteEmailIDEditBox:TextInput;
|
||||
private var updateEmailIDEditBox:TextInput;
|
||||
private var newStatusFlagEditbox:TextInput;
|
||||
|
||||
private var sendEmailButton:Button;
|
||||
private var getEmailsButton:Button;
|
||||
private var deleteEmailButton:Button;
|
||||
private var setEmailStatusButton:Button;
|
||||
|
||||
private var updateStatusFlagCheckbox:CheckBox;
|
||||
private var updateMarkedReadCheckbox:CheckBox;
|
||||
private var isNowMarkedReadCheckbox:CheckBox;
|
||||
|
||||
private var btnCompose:Button;
|
||||
private var btnDelete:Button;
|
||||
private var btnMarkUnread:Button;
|
||||
private var mcMail:Mail;
|
||||
|
||||
public function EmailScreen()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing EmailScreen");
|
||||
|
||||
mScreenId = ScreenID.EMAIL;
|
||||
mScreenTabId = ScreenTab.ID_EMAIL;
|
||||
|
||||
mEntriesPerPage = 10;
|
||||
mFirstEntryX = 482;
|
||||
mFirstEntryY = -265;
|
||||
mDeltaY = 10;
|
||||
}
|
||||
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
//Add click event for buttons
|
||||
//sendEmailButton.addEventListener("click", this, "f2c_SendEmail");
|
||||
//deleteEmailButton.addEventListener("click", this, "f2c_DeleteEmail");
|
||||
//setEmailStatusButton.addEventListener("click", this, "f2c_UpdateEmail");
|
||||
//getEmailsButton.addEventListener("click", this, "f2c_GetEmails");
|
||||
btnCompose.addEventListener("click", this, "ComposeMail");
|
||||
//btnDelete.addEventListener("click", this, "f2c_DeleteEmail");
|
||||
//btnMarkUnread.addEventListener("click", this, "f2c_GetEmails");
|
||||
btnDelete.addEventListener("click", this, "DeleteSelectedEmails");
|
||||
|
||||
//Add callbacks for C++
|
||||
ExternalInterface.addCallback("c2f_SendEmail", this, c2f_SendEmail);
|
||||
ExternalInterface.addCallback("c2f_DeleteEmail", this, c2f_DeleteEmail);
|
||||
ExternalInterface.addCallback("c2f_UpdateEmail", this, c2f_UpdateEmail);
|
||||
ExternalInterface.addCallback("c2f_GetEmails", this, c2f_GetEmails);
|
||||
|
||||
mcMail._visible = false;
|
||||
|
||||
super.VOnFinishedLoading();
|
||||
}
|
||||
|
||||
public function OnShow():Void
|
||||
{
|
||||
super.OnShow();
|
||||
|
||||
if ( mMovieClipList.length > 0 )
|
||||
{
|
||||
CleanUpMoveClipList( mMovieClipList );
|
||||
}
|
||||
|
||||
mMovieClipList = new Array();
|
||||
mCurrentPage = 0;
|
||||
GoToPage( 1 );
|
||||
f2c_GetEmails();
|
||||
if ( LobbyInterface.Instance.IsInFlashMode() )
|
||||
{
|
||||
c2f_GetEmails();
|
||||
}
|
||||
}
|
||||
|
||||
function f2c_SendEmail():Void
|
||||
{
|
||||
if ( mcMail.GetToField().length > 0 )
|
||||
{
|
||||
ExternalInterface.call("f2c_SendEmail",
|
||||
mcMail.GetToField(),//emailSendRecipient0EditBox.text, emailSendRecipient1EditBox.text, emailSendRecipient2EditBox.text,
|
||||
"", "", "", "", "", "", "",//emailSendRecipient3EditBox.text, emailSendRecipient4EditBox.text, emailSendRecipient5EditBox.text,
|
||||
//emailSendRecipient6EditBox.text, emailSendRecipient7EditBox.text,
|
||||
mcMail.GetSubjectField(), mcMail.GetMsgField(),//emailSubjectEditBox.text, emailBodyEditBox.text,
|
||||
""//emailStatusEditBox.text
|
||||
);
|
||||
|
||||
HideMail();
|
||||
}
|
||||
}
|
||||
|
||||
function c2f_SendEmail(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "SUCCESS":
|
||||
ConsoleWindow.Trace("c2f_SendEmail: " + resultIdentifier);
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
function f2c_DeleteEmail( emailID:Number ):Void
|
||||
{
|
||||
ConsoleWindow.Trace("f2c_DeleteEmail(), emailID = " + emailID);
|
||||
if ( emailID != null )
|
||||
{
|
||||
ExternalInterface.call("f2c_DeleteEmail", String(emailID));
|
||||
}
|
||||
}
|
||||
|
||||
function c2f_DeleteEmail(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "Emails_Delete_UNKNOWN_EMAIL_ID":
|
||||
break;
|
||||
case "Emails_Delete_ALREADY_DELETED":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
ConsoleWindow.Trace("c2f_DeleteEmail()... resultIdentifier = " + resultIdentifier);
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
function f2c_UpdateEmail():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_UpdateEmail", updateEmailIDEditBox.text,
|
||||
updateStatusFlagCheckbox.selected, updateMarkedReadCheckbox.selected,
|
||||
newStatusFlagEditbox.text, isNowMarkedReadCheckbox.selected
|
||||
);
|
||||
}
|
||||
|
||||
function c2f_UpdateEmail(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "Emails_SetStatus_UNKNOWN_EMAIL_ID":
|
||||
break;
|
||||
case "Emails_SetStatus_WAS_DELETED":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
function f2c_GetEmails():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_GetEmails");
|
||||
}
|
||||
|
||||
public function DeleteEmail( emailEntry:MovieClip ):Void
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public function DeleteSelectedEmails():Void
|
||||
{
|
||||
var startIndex:Number = mCurrentPage * mEntriesPerPage - ( mEntriesPerPage );
|
||||
var endIndex:Number = startIndex + mEntriesPerPage;
|
||||
var listForRemoval:Array = new Array();;
|
||||
|
||||
for ( var i:Number = 0; i < mEntriesPerPage; i++ )
|
||||
{
|
||||
var mcEntry:MovieClip = mMovieClipList[startIndex+i];
|
||||
if ( !mcEntry )
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if ( mcEntry.cbSelected.selected )
|
||||
{
|
||||
//RemoveEntryFromList(mcEntry, null, true);
|
||||
listForRemoval.push(mcEntry);
|
||||
}
|
||||
}
|
||||
|
||||
var length:Number = listForRemoval.length;
|
||||
for ( var n:Number = 0; n < length; n++ )
|
||||
{
|
||||
ConsoleWindow.Trace("Removing: " + mcEntry);
|
||||
f2c_DeleteEmail( listForRemoval[n].emailID );
|
||||
RemoveEntryFromList( listForRemoval[n], null, true );
|
||||
}
|
||||
}
|
||||
|
||||
function c2f_GetEmails():Void
|
||||
{
|
||||
ConsoleWindow.Trace("c2f_GetEmails: " );
|
||||
var numEmails:Number = arguments.length/9;
|
||||
for (var i:Number=0; i < numEmails; i++)
|
||||
{
|
||||
var sender:String = arguments[i*9+0];
|
||||
var recipient:String = arguments[i*9+1];
|
||||
var subject:String = arguments[i*9+2];
|
||||
var body:String = arguments[i*9+3];
|
||||
var status:Number = arguments[i*9+4];
|
||||
var wasSendByMe:Boolean = arguments[i*9+5];
|
||||
var wasReadByMe:Boolean = arguments[i*9+6];
|
||||
var emailID:Number = arguments[i*9+7];
|
||||
var creationDate:String = arguments[i * 9 + 8];
|
||||
|
||||
ConsoleWindow.Trace("sender: " + sender + ", recipient: " + recipient + ", subject: " + subject + ", body: " + body + ", status: " + status + ", wasSendByMe: " + wasSendByMe
|
||||
+ ", wasReadByMe: " + wasReadByMe + ", emailID: " + emailID + ", creationDate: " + creationDate);
|
||||
|
||||
AddListEntry( sender, recipient, subject, body, creationDate, "", emailID );
|
||||
}
|
||||
|
||||
//TODO: remove this once c++ sends down proper data
|
||||
for ( var n:Number = 0; n < 15; n++ )
|
||||
{
|
||||
AddListEntry( "from user" + mMovieClipList.length, "??", "Hi!", "lkajs;ldf", "mm/day/year" );
|
||||
}
|
||||
|
||||
OnMoveClipListUpdated();
|
||||
ShowPage(1);
|
||||
}
|
||||
|
||||
private function AddListEntry( usernameFrom:String, recipient:String, subject:String, body:String, date:String, time:String, emailID:Number ):MovieClip
|
||||
{
|
||||
var userEntry:MovieClip = attachMovie("EmailListEntry", "emailEntry" + mMovieClipList.length, getNextHighestDepth() );
|
||||
userEntry._visible = false;
|
||||
userEntry.tfUsername.text = usernameFrom;
|
||||
userEntry.tfSubject.text = subject;
|
||||
userEntry.tfDate.text = date;
|
||||
userEntry.emailID = emailID;
|
||||
userEntry.bodyText = body;
|
||||
mMovieClipList.push( userEntry );
|
||||
|
||||
var self:EmailScreen = this;
|
||||
userEntry.mcMail.onPress = function() { self.ReadMail( this._parent.tfUsername.text, this._parent.tfSubject.text, this._parent.bodyText, this._parent ); }
|
||||
return userEntry;
|
||||
}
|
||||
|
||||
private function OnShowMovieClipEntry( mcEntry:MovieClip, index:Number ):Void
|
||||
{
|
||||
super.OnShowMovieClipEntry( mcEntry, index );
|
||||
mcEntry.cbSelected.selected = false;
|
||||
}
|
||||
|
||||
public function ComposeMail():Void
|
||||
{
|
||||
mcMail.Clear();
|
||||
mcMail.SetMode( Mail.cMode1 );
|
||||
mcMail.SetButton( 1, "CANCEL", Delegate.create(this, HideMail) );
|
||||
mcMail.SetButton( 2, "SEND", Delegate.create(this, f2c_SendEmail) );
|
||||
mcMail.HideButton( 3 );
|
||||
|
||||
mcMail.SetTitle( "COMPOSE MESSAGE" );
|
||||
mcMail.SetToDisplayText( "TO:" );
|
||||
mcMail.SetToField( );
|
||||
mcMail.swapDepths( getNextHighestDepth() );
|
||||
mcMail._visible = true;
|
||||
}
|
||||
|
||||
public function ReadMail( username:String, subject:String, body:String, mailEntry:MovieClip ):Void
|
||||
{
|
||||
mcMail.Clear();
|
||||
mcMail.SetMode( Mail.cMode2 );
|
||||
mcMail.SetButton( 1, "DELETE", Delegate.create(this, DeleteMail) );
|
||||
mcMail.SetButton( 2, "CLOSE", Delegate.create(this, HideMail) );
|
||||
mcMail.SetButton( 3, "REPLY", Delegate.create(this, ComposeMail) );
|
||||
mcMail["mailEntry"] = mailEntry;
|
||||
|
||||
mcMail.SetTitle("RECEIVED MESSAGE:" );
|
||||
mcMail.SetUsername( username );
|
||||
mcMail.SetSubjectField( subject );
|
||||
mcMail.SetMsgField( body );
|
||||
mcMail.swapDepths( getNextHighestDepth() );
|
||||
mcMail._visible = true;
|
||||
}
|
||||
|
||||
public function HideMail():Void
|
||||
{
|
||||
mcMail._visible = false;
|
||||
}
|
||||
|
||||
public function DeleteMail( ):Void
|
||||
{
|
||||
mcMail._visible = false;
|
||||
var mailEntry:MovieClip = mcMail["mailEntry"];
|
||||
if ( mailEntry )
|
||||
{
|
||||
f2c_DeleteEmail( mailEntry.emailID );
|
||||
RemoveEntryFromList( mailEntry );
|
||||
}
|
||||
else
|
||||
{
|
||||
ConsoleWindow.Trace("DeleteMail, entry = " + mailEntry);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,89 @@
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.Button;
|
||||
|
||||
class Screens.EnterCDKeyScreen extends Screen
|
||||
{
|
||||
private var enterCdKeyOKButton:Button;
|
||||
private var cancelButton:Button;
|
||||
private var cdKeyEditBox:TextInput;
|
||||
private var tfFailedMsg:TextField;
|
||||
|
||||
public function EnterCDKeyScreen()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing EnterCDKeyScreen");
|
||||
|
||||
mScreenId = ScreenID.ENTER_CD_KEY;
|
||||
mScreenTabId = ScreenTab.ID_CD_KEY;
|
||||
tfFailedMsg._visible = false;
|
||||
}
|
||||
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
//Add click event for buttons
|
||||
enterCdKeyOKButton.addEventListener("click", this, "f2c_CheckCDKey");
|
||||
cancelButton.addEventListener("click", this, "Cancel");
|
||||
|
||||
//Add callbacks for C++
|
||||
ExternalInterface.addCallback("c2f_CheckCDKeyResult", this, c2f_CheckCDKeyResult);
|
||||
|
||||
super.VOnFinishedLoading();
|
||||
}
|
||||
|
||||
public function f2c_CheckCDKey():Void
|
||||
{
|
||||
tfFailedMsg._visible = false;
|
||||
ConsoleWindow.Trace("cdKeyEditBox.text = " + cdKeyEditBox.text);
|
||||
ExternalInterface.call("f2c_CheckCDKey", cdKeyEditBox.text);
|
||||
}
|
||||
|
||||
public function Cancel():Void
|
||||
{
|
||||
ConsoleWindow.Trace("EnterCDKeyScreen calling login screen");
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.LOGIN );
|
||||
}
|
||||
|
||||
public function c2f_CheckCDKeyResult(reasonIdentifier:String, userUsedBy:String, activationDate:String, wasStolen:Boolean, usable:Boolean):Void
|
||||
{
|
||||
switch (reasonIdentifier)
|
||||
{
|
||||
case "SUCCESS":
|
||||
if (usable==true)
|
||||
{
|
||||
// if usable==true, we're ok
|
||||
ConsoleWindow.Trace("RegisterAccount?");
|
||||
//_root.gotoAndPlay("RegisterAccount");
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.REGISTER_ACCOUNT_PERSONAL );
|
||||
}
|
||||
else if (wasStolen==true)
|
||||
{
|
||||
ConsoleWindow.Trace("account stolen?");
|
||||
// If wasStolen==true, this cd key was stolen. Display appropriate error message and ask user to reenter
|
||||
}
|
||||
else
|
||||
{
|
||||
ConsoleWindow.Trace("cd key already in used");
|
||||
// CD key already used. Display appropriate error message and ask user to reenter
|
||||
}
|
||||
break;
|
||||
case "CDKey_GetStatus_TITLE_NOT_IN_USE":
|
||||
// Internal error, just display bad title
|
||||
break;
|
||||
case "CDKey_GetStatus_UNKNOWN_CD_KEY":
|
||||
tfFailedMsg.text = "Unknown CD KEY";
|
||||
//tfFailedMsg._visible = true;
|
||||
// Most common case, CD key was mistyped. Display appropriate error message and ask user to reenter
|
||||
break;
|
||||
case "REQUIRED_TEXT_IS_EMPTY":
|
||||
tfFailedMsg.text = "PLEASE ENTER CD KEY";
|
||||
//tfFailedMsg._visible = true;
|
||||
// Field was blank
|
||||
break;
|
||||
}
|
||||
|
||||
if ( reasonIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( reasonIdentifier );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,320 @@
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.Button;
|
||||
import mx.utils.Delegate;
|
||||
|
||||
class Screens.FriendScreen extends ScreenWithPageNavigator
|
||||
{
|
||||
private var targetHandleEditBox:TextInput;
|
||||
private var subjectEditBox:TextInput;
|
||||
private var bodyEditBox:TextInput;
|
||||
private var emailStatusEditBox:TextInput;
|
||||
|
||||
private var sendInviteButton:Button;
|
||||
private var acceptInviteButton:Button;
|
||||
private var rejectInviteButton:Button;
|
||||
private var removeFriendButton:Button;
|
||||
private var getInvitesButton:Button;
|
||||
private var getFriendsButton:Button;
|
||||
|
||||
private var btnPossibleFriends:Button;
|
||||
|
||||
private var mcProfileImage:MovieClip;
|
||||
private var tfUsername:TextField;
|
||||
|
||||
private var mcMail:Mail;
|
||||
|
||||
public function FriendScreen()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing FriendScreen");
|
||||
|
||||
mScreenId = ScreenID.FRIENDS;
|
||||
mScreenTabId = ScreenTab.ID_FRIENDS;
|
||||
|
||||
mEntriesPerPage = 10;
|
||||
mFirstEntryX = 440;
|
||||
mFirstEntryY = -245;
|
||||
mDeltaY = 10;
|
||||
}
|
||||
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
//Add click event for buttons
|
||||
sendInviteButton.addEventListener("click", this, "ShowInvitationMail");
|
||||
acceptInviteButton.addEventListener("click", this, "f2c_AcceptInvite");
|
||||
rejectInviteButton.addEventListener("click", this, "f2c_RejectInvite");
|
||||
removeFriendButton.addEventListener("click", this, "f2c_RemoveFriend");
|
||||
getInvitesButton.addEventListener("click", this, "f2c_GetFriendInvites");
|
||||
//getFriendsButton.addEventListener("click", this, "f2c_GetFriends");
|
||||
btnPossibleFriends.addEventListener("click", this, "ShowPossibleFriends");
|
||||
|
||||
//Add callbacks for C++
|
||||
ExternalInterface.addCallback("c2f_SendInviteResult", this, c2f_SendInviteResult);
|
||||
ExternalInterface.addCallback("c2f_AcceptInviteResult", this, c2f_AcceptInviteResult);
|
||||
ExternalInterface.addCallback("c2f_RejectInviteResult", this, c2f_RejectInviteResult);
|
||||
ExternalInterface.addCallback("c2f_RemoveFriendResult", this, c2f_RemoveFriendResult);
|
||||
//ExternalInterface.addCallback("c2f_GetFriendInvites", this, c2f_GetFriendInvites);
|
||||
ExternalInterface.addCallback("c2f_GetFriends", this, c2f_GetFriends);
|
||||
|
||||
mcMail._visible = false;
|
||||
|
||||
super.VOnFinishedLoading();
|
||||
}
|
||||
|
||||
public function OnShow():Void
|
||||
{
|
||||
super.OnShow();
|
||||
|
||||
if ( !mcProfileImage.mcImageContainer.mcImage )
|
||||
{
|
||||
var imageIndex:Number = LobbyInterface.Instance.GetProfileImageIndex();
|
||||
mcProfileImage.attachMovie( "ProfileImage" + imageIndex, "mcImage", mcProfileImage.getNextHighestDepth() );
|
||||
}
|
||||
|
||||
tfUsername.text = LobbyInterface.Instance.GetUsername();
|
||||
|
||||
if ( mMovieClipList.length > 0 )
|
||||
{
|
||||
CleanUpMoveClipList( mMovieClipList );
|
||||
}
|
||||
|
||||
mMovieClipList = new Array();
|
||||
mCurrentPage = 0;
|
||||
GoToPage( 1 );
|
||||
f2c_GetFriends();
|
||||
//mIsWaitingForResponseFromServer = false;
|
||||
if ( LobbyInterface.Instance.IsInFlashMode() )
|
||||
{
|
||||
c2f_GetFriends();
|
||||
}
|
||||
}
|
||||
|
||||
public function ShowInvitationMail():Void
|
||||
{
|
||||
mcMail.Clear();
|
||||
mcMail.SetButton( 1, "CANCEL", Delegate.create(this, HideMail) );
|
||||
mcMail.SetButton( 2, "SEND", Delegate.create(this, f2c_SendInvite) );
|
||||
|
||||
mcMail.SetTitle( "ASK " + targetHandleEditBox.text + " TO BE FRIENDS:" );
|
||||
mcMail.SetToField( targetHandleEditBox.text );
|
||||
mcMail.DisableToField();
|
||||
mcMail.swapDepths( getNextHighestDepth() );
|
||||
mcMail._visible = true;
|
||||
}
|
||||
|
||||
public function ShowFriendMail( friendName:String ):Void
|
||||
{
|
||||
mcMail.Clear();
|
||||
mcMail.SetButton( 1, "CANCEL", Delegate.create(this, HideMail) );
|
||||
mcMail.SetButton( 2, "SEND", Delegate.create(this, f2c_SendInvite) );
|
||||
|
||||
mcMail.SetTitle( "COMPOSE MESSAGE" );
|
||||
mcMail.SetToField( friendName );
|
||||
mcMail.DisableToField();
|
||||
mcMail.swapDepths( getNextHighestDepth() );
|
||||
mcMail._visible = true;
|
||||
}
|
||||
|
||||
public function HideMail():Void
|
||||
{
|
||||
mcMail._visible = false;
|
||||
}
|
||||
|
||||
public function f2c_SendInvite():Void
|
||||
{
|
||||
ConsoleWindow.Trace("Attempting to send invitation: name = " + mcMail.GetToField() + ", subject = " + mcMail.GetSubjectField() + ", msg = " + mcMail.GetMsgField());
|
||||
ExternalInterface.call("f2c_SendInvite", mcMail.GetToField(), mcMail.GetSubjectField(), mcMail.GetMsgField(), "0");
|
||||
HideMail();
|
||||
}
|
||||
|
||||
public function c2f_SendInviteResult(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Friends_SendInvite_UNKNOWN_TARGET_HANDLE":
|
||||
break;
|
||||
case "Friends_SendInvite_CANNOT_PERFORM_ON_SELF":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "Friends_SendInvite_ALREADY_SENT_INVITE":
|
||||
break;
|
||||
case "Friends_SendInvite_ALREADY_FRIENDS":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
ConsoleWindow.Trace("c2f_SendInviteResult: " + resultIdentifier);
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function f2c_AcceptInvite():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_AcceptInvite", targetHandleEditBox.text, subjectEditBox.text, bodyEditBox.text, emailStatusEditBox.text);
|
||||
}
|
||||
|
||||
public function c2f_AcceptInviteResult(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Friends_AcceptInvite_UNKNOWN_TARGET_HANDLE":
|
||||
break;
|
||||
case "Friends_AcceptInvite_CANNOT_PERFORM_ON_SELF":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "Friends_AcceptInvite_NO_INVITE":
|
||||
break;
|
||||
case "Friends_AcceptInvite_NO_INVITE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function f2c_RejectInvite():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_RejectInvite", targetHandleEditBox.text, subjectEditBox.text, bodyEditBox.text, emailStatusEditBox.text);
|
||||
}
|
||||
|
||||
public function c2f_RejectInviteResult(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Friends_RejectInvite_UNKNOWN_TARGET_HANDLE":
|
||||
break;
|
||||
case "Friends_RejectInvite_CANNOT_PERFORM_ON_SELF":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "Friends_RejectInvite_NO_INVITE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function f2c_RemoveFriend( _username:String ):Void
|
||||
{
|
||||
ExternalInterface.call("f2c_RemoveFriend", _username, "", "", "");
|
||||
}
|
||||
|
||||
public function c2f_RemoveFriendResult(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Friends_Remove_UNKNOWN_TARGET_HANDLE":
|
||||
break;
|
||||
case "Friends_Remove_CANNOT_PERFORM_ON_SELF":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "Friends_Remove_NOT_FRIENDS":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
ConsoleWindow.Trace("c2f_RemoveFriendResult: " + resultIdentifier);
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function f2c_GetFriendInvites():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_GetFriendInvites");
|
||||
}
|
||||
|
||||
public function f2c_GetFriends():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_GetFriends");
|
||||
}
|
||||
|
||||
public function c2f_GetFriendInvites():Void
|
||||
{
|
||||
var invitesSent:Number = arguments[0];
|
||||
var invitesReceived:Number = arguments[1];
|
||||
for (var i:Number=0; i<invitesSent; i++) {
|
||||
var handleOfUserInviteSentTo:String = arguments[2+i];
|
||||
}
|
||||
|
||||
for (var i:Number=0; i<invitesReceived; i++) {
|
||||
var handleOfUserInviteReceivedFrom:String = arguments[2+i+invitesSent];
|
||||
}
|
||||
}
|
||||
|
||||
public function c2f_GetFriends():Void
|
||||
{
|
||||
ConsoleWindow.Trace("c2f_GetFriends...");
|
||||
for (var i:Number=0; i<arguments.length; i++)
|
||||
{
|
||||
var friendName:String = arguments[i];
|
||||
ConsoleWindow.Trace(friendName);
|
||||
AddListEntry( friendName );
|
||||
}
|
||||
|
||||
//TODO: remove this once c++ sends down proper data
|
||||
for ( var n:Number = 0; n < 7; n++ )
|
||||
{
|
||||
AddListEntry( "friend" + mMovieClipList.length );
|
||||
}
|
||||
|
||||
OnMoveClipListUpdated();
|
||||
ShowPage(1);
|
||||
}
|
||||
|
||||
public function InviteFriend( _username:String, _profileImageIndex:Number ):Void
|
||||
{
|
||||
AddListEntry( _username, _profileImageIndex );
|
||||
|
||||
RefreshPage();
|
||||
OnMoveClipListUpdated();
|
||||
}
|
||||
|
||||
public function RemoveFriend( friendEntry:MovieClip ):Void
|
||||
{
|
||||
f2c_RemoveFriend( friendEntry.tfUsername.text );
|
||||
RemoveEntryFromList( friendEntry, mMovieClipList );
|
||||
}
|
||||
|
||||
private function AddListEntry( usernameToAdd:String, _profileImageIndex:Number ):MovieClip
|
||||
{
|
||||
var userEntry:MovieClip = attachMovie("MyFriendsListEntry", "mcFriendEntry" + mMovieClipList.length, getNextHighestDepth() );
|
||||
userEntry._visible = false;
|
||||
userEntry.tfUsername.text = usernameToAdd;
|
||||
mMovieClipList.push( userEntry );
|
||||
|
||||
var self:FriendScreen = this;
|
||||
userEntry.mcDelete.onPress = function() { self.RemoveFriend( this._parent ); }
|
||||
userEntry.mcMail.onPress = function() { self.ShowFriendMail( this._parent.tfUsername.text ); }
|
||||
return userEntry;
|
||||
}
|
||||
|
||||
public function ShowPossibleFriends():Void
|
||||
{
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.POSSIBLE_FRIENDS );
|
||||
}
|
||||
|
||||
private function OnShowMovieClipEntry( mcEntry:MovieClip, index:Number ):Void
|
||||
{
|
||||
super.OnShowMovieClipEntry( mcEntry, index );
|
||||
mcEntry.tfInvitation._visible = false;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,76 @@
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.Button;
|
||||
|
||||
class Screens.LoggedInScreen extends Screen
|
||||
{
|
||||
private var logoffButton:Button;
|
||||
private var updateAccountButton:Button;
|
||||
private var ignoreFunctions:Button;
|
||||
private var friendFunctions:Button;
|
||||
private var emailFunctions:Button;
|
||||
private var clanFunctions:Button;
|
||||
|
||||
public function LoggedInScreen()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing LoggedInScreen");
|
||||
|
||||
mScreenId = ScreenID.LOGGED_IN;
|
||||
mScreenTabId = ScreenTab.ID_LOGIN;
|
||||
}
|
||||
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
//Add click event for buttons
|
||||
logoffButton.addEventListener("click", this, "f2c_Logoff");
|
||||
updateAccountButton.addEventListener("click", this, "GotoUpdateAccountState");
|
||||
ignoreFunctions.addEventListener("click", this, "GotoIgnoreFunctionsState");
|
||||
friendFunctions.addEventListener("click", this, "GotoFriendFunctionsState");
|
||||
emailFunctions.addEventListener("click", this, "GotoEmailFunctionsState");
|
||||
clanFunctions.addEventListener("click", this, "GotoClanFunctionsState");
|
||||
|
||||
//Add callbacks for C++
|
||||
|
||||
super.VOnFinishedLoading();
|
||||
}
|
||||
|
||||
public function f2c_Logoff():Void
|
||||
{
|
||||
ConsoleWindow.Trace("LoggedinScreen calling login");
|
||||
ExternalInterface.call("f2c_Logoff");
|
||||
//_root.gotoAndPlay("ConnectedToServer");
|
||||
LobbyInterface.Instance.SetLoginState( false );
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.LOGIN );
|
||||
}
|
||||
|
||||
public function GotoUpdateAccountState():Void
|
||||
{
|
||||
//_root.gotoAndPlay("UpdateAccount");
|
||||
//LobbyInterface.Instance.ShowScreen( ScreenID.LOGIN ); //need to hook up update profile screen
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.UPDATE_ACCOUNT );
|
||||
}
|
||||
|
||||
public function GotoIgnoreFunctionsState():Void
|
||||
{
|
||||
//_root.gotoAndPlay("IgnoreFunctions");
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.BLOCK_LIST );
|
||||
}
|
||||
|
||||
public function GotoFriendFunctionsState():Void
|
||||
{
|
||||
//_root.gotoAndPlay("FriendFunctions");
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.FRIENDS );
|
||||
}
|
||||
|
||||
public function GotoEmailFunctionsState():Void
|
||||
{
|
||||
//_root.gotoAndPlay("EmailFunctions");
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.EMAIL );
|
||||
}
|
||||
|
||||
public function GotoClanFunctionsState():Void
|
||||
{
|
||||
//_root.gotoAndPlay("ClanFunctions");
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.CLAN_ROOT );
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,72 @@
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.Button;
|
||||
|
||||
class Screens.LoggingInScreen extends Screen
|
||||
{
|
||||
private var loginFailureResult:Button;
|
||||
private var cancelFromLoggingIn:Button;
|
||||
|
||||
public function LoggingInScreen()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing LoggingInScreen");
|
||||
|
||||
mScreenId = ScreenID.LOGGING_IN;
|
||||
mScreenTabId = ScreenTab.ID_LOGIN;
|
||||
}
|
||||
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
loginFailureResult.visible = false;
|
||||
|
||||
//Add click event for buttons
|
||||
cancelFromLoggingIn.addEventListener("click", this, "cancelFromLoggingInFunc");
|
||||
|
||||
//Add callbacks for C++
|
||||
ExternalInterface.addCallback("c2f_NotifyLoginResultFailure", this, c2f_NotifyLoginResultFailure);
|
||||
ExternalInterface.addCallback("c2f_NotifyLoginResultSuccess", this, c2f_NotifyLoginResultSuccess);
|
||||
|
||||
super.VOnFinishedLoading();
|
||||
}
|
||||
|
||||
function cancelFromLoggingInFunc():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_DisconnectFromServer");
|
||||
//_root.gotoAndPlay("Disconnected");
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.CONNECTION );
|
||||
}
|
||||
|
||||
function c2f_NotifyLoginResultFailure(reasonIdentifier:String, bannedReason:String, whenBanned:String, bannedExpiration:String ):Void
|
||||
{
|
||||
switch (reasonIdentifier)
|
||||
{
|
||||
case "Client_Login_HANDLE_NOT_IN_USE_OR_BAD_SECRET_KEY":
|
||||
break;
|
||||
case "Client_Login_CANCELLED":
|
||||
break;
|
||||
case "Client_Login_CABLE_NOT_CONNECTED":
|
||||
break;
|
||||
case "Client_Login_NET_NOT_CONNECTED":
|
||||
break;
|
||||
case "Client_Login_BANNED":
|
||||
// banned parameters used here, not otherwise
|
||||
break;
|
||||
case "Client_Login_CDKEY_STOLEN":
|
||||
break;
|
||||
case "Client_Login_EMAIL_ADDRESS_NOT_VALIDATED":
|
||||
break;
|
||||
case "Client_Login_BAD_TITLE_OR_TITLE_SECRET_KEY":
|
||||
break;
|
||||
}
|
||||
|
||||
loginFailureResult.visible=true;
|
||||
loginFailureResult.label=reasonIdentifier;
|
||||
}
|
||||
|
||||
function c2f_NotifyLoginResultSuccess( ):Void
|
||||
{
|
||||
//_root.gotoAndPlay("LoggedIn");
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.LOGGED_IN );
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,235 @@
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.Button;
|
||||
import gfx.controls.CheckBox;
|
||||
import mx.utils.Delegate;
|
||||
import Screens.RecoverPasswordScreen;
|
||||
|
||||
class Screens.LoginScreen extends Screen
|
||||
{
|
||||
private var resetDatabase:Button;
|
||||
private var recoverPassword:Button;
|
||||
private var deleteAccountButton:Button;
|
||||
private var changeHandleButton:Button;
|
||||
private var registerAccount:Button;
|
||||
private var login:Button;
|
||||
private var disconnectFromServer:Button;
|
||||
private var userNameEdit:TextInput;
|
||||
private var passwordEdit:TextInput;
|
||||
private var changeHandleNewHandleEditBox:TextInput;
|
||||
private var savePassword:CheckBox;
|
||||
private var saveUsername:CheckBox;
|
||||
private var mcForgotUsername:MovieClip;
|
||||
private var mcForgotPassword:MovieClip;
|
||||
|
||||
private var tfLoginFailed:TextField;
|
||||
|
||||
public function LoginScreen()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing LoginScreen");
|
||||
|
||||
mScreenId = ScreenID.LOGIN;
|
||||
mScreenTabId = ScreenTab.ID_LOGIN;
|
||||
|
||||
tfLoginFailed._visible = false;
|
||||
}
|
||||
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
var self:LoginScreen = this;
|
||||
|
||||
//Add click event for buttons
|
||||
resetDatabase.addEventListener("click", this, "f2c_ResetDatabase");
|
||||
//mcForgotPassword.onPress = function() { self["recoverPasswordFunc"](); }
|
||||
//recoverPassword.addEventListener("click", this, "recoverPasswordFunc");
|
||||
deleteAccountButton.addEventListener("click", this, "f2c_DeleteAccount");
|
||||
changeHandleButton.addEventListener("click", this, "f2c_ChangeHandle");
|
||||
registerAccount.addEventListener("click", this, "f2c_RegisterAccountStateQuery");
|
||||
login.addEventListener("click", this, "f2c_LoginToAccount");
|
||||
disconnectFromServer.addEventListener("click", this, "f2c_DisconnectFromServer");
|
||||
mcForgotPassword.onPress = Delegate.create( this, ShowForgotPassword );
|
||||
mcForgotUsername.onPress = Delegate.create( this, ShowForgotUsername );
|
||||
|
||||
//Add callbacks for C++
|
||||
ExternalInterface.addCallback("c2f_SetStateEnterCDKey", this, c2f_SetStateEnterCDKey);
|
||||
ExternalInterface.addCallback("c2f_SetStateRegisterAccount", this, c2f_SetStateRegisterAccount);
|
||||
ExternalInterface.addCallback("c2f_DeleteAccountResult", this, c2f_DeleteAccountResult);
|
||||
ExternalInterface.addCallback("c2f_ChangeHandleResult", this, c2f_ChangeHandleResult);
|
||||
ExternalInterface.addCallback("c2f_NotifyLoginResultFailure", this, c2f_NotifyLoginResultFailure);
|
||||
ExternalInterface.addCallback("c2f_NotifyLoginResultSuccess", this, c2f_NotifyLoginResultSuccess);
|
||||
|
||||
super.VOnFinishedLoading();
|
||||
}
|
||||
|
||||
public function GetUsername():String
|
||||
{
|
||||
return userNameEdit.text;
|
||||
}
|
||||
|
||||
public function f2c_ResetDatabase():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_ResetDatabase");
|
||||
}
|
||||
|
||||
public function recoverPasswordFunc():Void
|
||||
{
|
||||
//_root.gotoAndPlay("RecoverPassword");
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.RECOVER_PASSWORD );
|
||||
}
|
||||
|
||||
public function f2c_DeleteAccount():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_DeleteAccount", userNameEdit.text, passwordEdit.text);
|
||||
}
|
||||
|
||||
public function f2c_ChangeHandle():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_ChangeHandle", userNameEdit.text, passwordEdit.text, changeHandleNewHandleEditBox.text);
|
||||
}
|
||||
|
||||
public function f2c_RegisterAccountStateQuery():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_RegisterAccountStateQuery", userNameEdit.text, passwordEdit.text);
|
||||
// C++ will call either c2f_SetStateEnterCDKey or c2f_SetStateCreateAccount1
|
||||
}
|
||||
|
||||
public function f2c_LoginToAccount():Void
|
||||
{
|
||||
tfLoginFailed._visible=false;
|
||||
ExternalInterface.call("f2c_LoginToAccount", userNameEdit.text, passwordEdit.text, savePassword.selected);
|
||||
//_root.gotoAndPlay("LoggingIn");
|
||||
//LobbyInterface.Instance.ShowScreen( ScreenID.LOGGING_IN );
|
||||
if ( LobbyInterface.Instance.IsInFlashMode() )
|
||||
{
|
||||
c2f_NotifyLoginResultSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
public function f2c_DisconnectFromServer():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_DisconnectFromServer");
|
||||
}
|
||||
|
||||
public function c2f_SetStateEnterCDKey():Void
|
||||
{
|
||||
//_root.gotoAndPlay("EnterCDKey");
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.ENTER_CD_KEY );
|
||||
}
|
||||
|
||||
public function c2f_SetStateRegisterAccount():Void
|
||||
{
|
||||
//_root.gotoAndPlay("RegisterAccount");
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.REGISTER_ACCOUNT_PERSONAL );
|
||||
}
|
||||
|
||||
public function c2f_DeleteAccountResult(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "UNKNOWN_USER":
|
||||
// Unknown username
|
||||
break;
|
||||
case "SUCCESS":
|
||||
// OK
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
// Database error, maybe account was already deleted
|
||||
break;
|
||||
case "System_DeleteAccount_INVALID_PASSWORD":
|
||||
// Bad password to delete this account
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function c2f_ChangeHandleResult(resultIdentifier:String, oldHandle:String, newHandle:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "UNKNOWN_USER":
|
||||
// Unknown username
|
||||
break;
|
||||
case "SUCCESS":
|
||||
{
|
||||
// OK
|
||||
userNameEdit.text=newHandle;
|
||||
break;
|
||||
}
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
// Database error, maybe account was already deleted
|
||||
break;
|
||||
case "Client_ChangeHandle_NEW_HANDLE_ALREADY_IN_USE":
|
||||
break;
|
||||
case "Client_ChangeHandle_INVALID_PASSWORD":
|
||||
// Bad password to delete this account
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function c2f_NotifyLoginResultFailure(reasonIdentifier:String, bannedReason:String, whenBanned:String, bannedExpiration:String ):Void
|
||||
{
|
||||
switch (reasonIdentifier)
|
||||
{
|
||||
case "Client_Login_HANDLE_NOT_IN_USE_OR_BAD_SECRET_KEY":
|
||||
tfLoginFailed.text = "Handle not in use or bad secret key.";
|
||||
break;
|
||||
case "Client_Login_CANCELLED":
|
||||
tfLoginFailed.text = "Login cancelled.";
|
||||
break;
|
||||
case "Client_Login_CABLE_NOT_CONNECTED":
|
||||
tfLoginFailed.text = "Cable not connected.";
|
||||
break;
|
||||
case "Client_Login_NET_NOT_CONNECTED":
|
||||
tfLoginFailed.text = "Net not connected.";
|
||||
break;
|
||||
case "Client_Login_BANNED":
|
||||
tfLoginFailed.text = "User banned.";
|
||||
// banned parameters used here, not otherwise
|
||||
break;
|
||||
case "Client_Login_CDKEY_STOLEN":
|
||||
tfLoginFailed.text = "CDKEY stolen";
|
||||
break;
|
||||
case "Client_Login_EMAIL_ADDRESS_NOT_VALIDATED":
|
||||
tfLoginFailed.text = "Email address not validated.";
|
||||
break;
|
||||
case "Client_Login_BAD_TITLE_OR_TITLE_SECRET_KEY":
|
||||
tfLoginFailed.text = "Bad title or title secret key.";
|
||||
break;
|
||||
}
|
||||
|
||||
//tfLoginFailed._visible = true;
|
||||
|
||||
LobbyInterface.Instance.CreateMessageBox(reasonIdentifier);
|
||||
}
|
||||
|
||||
public function c2f_NotifyLoginResultSuccess( ):Void
|
||||
{
|
||||
LobbyInterface.Instance.SetLoginState( true );
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.PROFILE );
|
||||
ConsoleWindow.Trace("AccountInfo.Instance = " + AccountInfo.Instance);
|
||||
AccountInfo.Instance.GetAccountInfoFromServer();
|
||||
}
|
||||
|
||||
public function ShowForgotUsername():Void
|
||||
{
|
||||
ConsoleWindow.Trace("show forgot username");
|
||||
RecoverPasswordScreen.Instance.SetMode( false );
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.RECOVER_PASSWORD );
|
||||
}
|
||||
|
||||
public function ShowForgotPassword():Void
|
||||
{
|
||||
ConsoleWindow.Trace("show forgot password");
|
||||
RecoverPasswordScreen.Instance.SetMode( true );
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.RECOVER_PASSWORD );
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,131 @@
|
||||
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.Button;
|
||||
import Screens.ClanGeneralScreen;
|
||||
|
||||
class Screens.MyClansScreen extends ScreenWithPageNavigator
|
||||
{
|
||||
private var btnBack:Button;
|
||||
private var mClanNames:Array;
|
||||
|
||||
private static var mInstance:MyClansScreen;
|
||||
|
||||
public function MyClansScreen()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing MyClansScreen");
|
||||
|
||||
mScreenId = ScreenID.CLAN_MY_CLANS;
|
||||
mScreenTabId = ScreenTab.ID_CLANS;
|
||||
|
||||
mEntriesPerPage = 12;
|
||||
mFirstEntryX = 435;
|
||||
mFirstEntryY = -380;
|
||||
mDeltaY = 10;
|
||||
|
||||
mInstance = this;
|
||||
}
|
||||
|
||||
public static function get Instance():MyClansScreen { return mInstance; }
|
||||
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
//Add click event for buttons
|
||||
//btnCreateClan.addEventListener("click", this, "SetStateToClanFunctionsGeneral");
|
||||
btnBack.addEventListener("click", this, "Back");
|
||||
|
||||
//Add callbacks for C++
|
||||
ExternalInterface.addCallback("c2f_Clans_Get", this, c2f_Clans_Get);
|
||||
|
||||
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_Get");
|
||||
}
|
||||
|
||||
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:MyClansScreen = 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 );
|
||||
}
|
||||
|
||||
public function c2f_Clans_Get():Void
|
||||
{
|
||||
ConsoleWindow.Trace("c2f_Clans_Get(), resultIdentifier = " + resultIdentifier);
|
||||
var resultIdentifier:String = arguments[0];
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
{
|
||||
mClanNames = new Array();
|
||||
|
||||
var numClansReturned:Number = arguments[1] + 1;
|
||||
ConsoleWindow.Trace("Number of clans = " + numClansReturned);
|
||||
var argumentIndex:Number=2;
|
||||
for (var i:Number=0; i < numClansReturned; i++)
|
||||
{
|
||||
ConsoleWindow.Trace("clan = " + clanName + ", description = " + description + ", clanLeader = " + clanLeader );
|
||||
var clanName:String = arguments[argumentIndex++];
|
||||
var description:String = arguments[argumentIndex++];
|
||||
var clanLeader:String = arguments[argumentIndex++];
|
||||
if ( clanName )
|
||||
{
|
||||
mClanNames.push( clanName );
|
||||
var clanMembersOtherThanLeader:Number = arguments[argumentIndex++];
|
||||
//for (var j:Number=0; j < clanMembersOtherThanLeader; j++)
|
||||
{
|
||||
//var clanMemberName:String = arguments[argumentIndex++];
|
||||
//ConsoleWindow.Trace("other memebers = " + clanMemberName);
|
||||
}
|
||||
|
||||
AddListEntry(clanName);
|
||||
}
|
||||
}
|
||||
|
||||
OnMoveClipListUpdated();
|
||||
ShowPage(1);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function Back():Void
|
||||
{
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.CLAN_ROOT );
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,284 @@
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.Button;
|
||||
import mx.utils.Delegate;
|
||||
|
||||
class Screens.PossibleFriendsScreen extends ScreenWithPageNavigator
|
||||
{
|
||||
private var targetHandleEditBox:TextInput;
|
||||
private var subjectEditBox:TextInput;
|
||||
private var bodyEditBox:TextInput;
|
||||
private var emailStatusEditBox:TextInput;
|
||||
|
||||
private var sendInviteButton:Button;
|
||||
private var acceptInviteButton:Button;
|
||||
private var rejectInviteButton:Button;
|
||||
|
||||
private var btnMyFriends:Button;
|
||||
|
||||
private var mcProfileImage:MovieClip;
|
||||
private var tfUsername:TextField;
|
||||
|
||||
private var mcMail:Mail;
|
||||
|
||||
public function PossibleFriendsScreen()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing FriendScreen");
|
||||
|
||||
mScreenId = ScreenID.POSSIBLE_FRIENDS;
|
||||
mScreenTabId = ScreenTab.ID_FRIENDS;
|
||||
|
||||
mEntriesPerPage = 10;
|
||||
mFirstEntryX = 440;
|
||||
mFirstEntryY = -245;
|
||||
mDeltaY = 10;
|
||||
}
|
||||
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
//Add click event for buttons
|
||||
sendInviteButton.addEventListener("click", this, "ShowInvitationMail_Outgoing");
|
||||
//acceptInviteButton.addEventListener("click", this, "f2c_AcceptInvite");
|
||||
//rejectInviteButton.addEventListener("click", this, "f2c_RejectInvite");
|
||||
btnMyFriends.addEventListener("click", this, "ShowMyFriends");
|
||||
|
||||
//Add callbacks for C++
|
||||
ExternalInterface.addCallback("c2f_SendInviteResult", this, c2f_SendInviteResult);
|
||||
ExternalInterface.addCallback("c2f_AcceptInviteResult", this, c2f_AcceptInviteResult);
|
||||
ExternalInterface.addCallback("c2f_RejectInviteResult", this, c2f_RejectInviteResult);
|
||||
ExternalInterface.addCallback("c2f_GetFriendInvites", this, c2f_GetFriendInvites);
|
||||
//ExternalInterface.addCallback("c2f_GetFriends", this, c2f_GetFriends);
|
||||
|
||||
mcMail._visible = false;
|
||||
|
||||
super.VOnFinishedLoading();
|
||||
}
|
||||
|
||||
public function OnShow():Void
|
||||
{
|
||||
super.OnShow();
|
||||
|
||||
if ( !mcProfileImage.mcImageContainer.mcImage )
|
||||
{
|
||||
var imageIndex:Number = LobbyInterface.Instance.GetProfileImageIndex();
|
||||
mcProfileImage.attachMovie( "ProfileImage" + imageIndex, "mcImage", mcProfileImage.getNextHighestDepth() );
|
||||
}
|
||||
|
||||
tfUsername.text = LobbyInterface.Instance.GetUsername();
|
||||
|
||||
if ( mMovieClipList.length > 0 )
|
||||
{
|
||||
CleanUpMoveClipList( mMovieClipList );
|
||||
}
|
||||
|
||||
mMovieClipList = new Array();
|
||||
mCurrentPage = 0;
|
||||
GoToPage( 1 );
|
||||
f2c_GetFriendInvites();
|
||||
//mIsWaitingForResponseFromServer = false;
|
||||
}
|
||||
|
||||
public function ShowInvitationMail_Outgoing():Void
|
||||
{
|
||||
mcMail.Clear();
|
||||
mcMail.SetButton( 1, "CANCEL", Delegate.create(this, HideMail) );
|
||||
mcMail.SetButton( 2, "SEND", Delegate.create(this, f2c_SendInvite) );
|
||||
|
||||
mcMail.SetTitle( "ASK " + targetHandleEditBox.text + " TO BE FRIENDS:" );
|
||||
mcMail.SetToDisplayText( "TO:" );
|
||||
mcMail.SetToField( targetHandleEditBox.text );
|
||||
mcMail.DisableToField();
|
||||
mcMail.swapDepths( getNextHighestDepth() );
|
||||
mcMail._visible = true;
|
||||
}
|
||||
|
||||
public function ShowInvitationMail_Incoming( username:String ):Void
|
||||
{
|
||||
mcMail.Clear();
|
||||
mcMail.SetButton( 1, "IGNORE", Delegate.create(this, HideMail) );
|
||||
mcMail.SetButton( 2, "BE FRIENDS", Delegate.create(this, f2c_AcceptInvite) );
|
||||
mcMail.SetButton( 3, "DECLINE", Delegate.create(this, f2c_RejectInvite) );
|
||||
|
||||
mcMail.SetTitle( username + " WANTS TO BE YOUR FRIEND:" );
|
||||
mcMail.SetToDisplayText( "FROM:" );
|
||||
mcMail.SetToField( username );
|
||||
mcMail.DisableToField();
|
||||
mcMail.swapDepths( getNextHighestDepth() );
|
||||
mcMail._visible = true;
|
||||
}
|
||||
|
||||
public function HideMail():Void
|
||||
{
|
||||
mcMail._visible = false;
|
||||
}
|
||||
|
||||
public function f2c_SendInvite():Void
|
||||
{
|
||||
ConsoleWindow.Trace("Attempting to send invitation: name = " + mcMail.GetToField() + ", subject = " + mcMail.GetSubjectField() + ", msg = " + mcMail.GetMsgField());
|
||||
ExternalInterface.call("f2c_SendInvite", mcMail.GetToField(), mcMail.GetSubjectField(), mcMail.GetMsgField(), "0");
|
||||
HideMail();
|
||||
}
|
||||
|
||||
public function c2f_SendInviteResult(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Friends_SendInvite_UNKNOWN_TARGET_HANDLE":
|
||||
break;
|
||||
case "Friends_SendInvite_CANNOT_PERFORM_ON_SELF":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "Friends_SendInvite_ALREADY_SENT_INVITE":
|
||||
break;
|
||||
case "Friends_SendInvite_ALREADY_FRIENDS":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
ConsoleWindow.Trace("c2f_SendInviteResult: " + resultIdentifier);
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function f2c_AcceptInvite():Void
|
||||
{
|
||||
ConsoleWindow.Trace("f2c_AcceptInvite: name = " + mcMail.GetToField() + ", subject = " + mcMail.GetSubjectField() + ", msg = " + mcMail.GetMsgField());
|
||||
ExternalInterface.call("f2c_AcceptInvite", mcMail.GetToField(), mcMail.GetSubjectField(), mcMail.GetMsgField(), "0");
|
||||
HideMail();
|
||||
}
|
||||
|
||||
public function c2f_AcceptInviteResult(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Friends_AcceptInvite_UNKNOWN_TARGET_HANDLE":
|
||||
break;
|
||||
case "Friends_AcceptInvite_CANNOT_PERFORM_ON_SELF":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "Friends_AcceptInvite_NO_INVITE":
|
||||
break;
|
||||
case "Friends_AcceptInvite_NO_INVITE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
ConsoleWindow.Trace("c2f_AcceptInviteResult: " + resultIdentifier);
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function f2c_RejectInvite():Void
|
||||
{
|
||||
ConsoleWindow.Trace("f2c_RejectInvite: name = " + mcMail.GetToField() + ", subject = " + mcMail.GetSubjectField() + ", msg = " + mcMail.GetMsgField());
|
||||
ExternalInterface.call("f2c_RejectInvite", mcMail.GetToField(), mcMail.GetSubjectField(), mcMail.GetMsgField(), "0");
|
||||
HideMail();
|
||||
}
|
||||
|
||||
public function c2f_RejectInviteResult(resultIdentifier:String):Void
|
||||
{
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "Friends_RejectInvite_UNKNOWN_TARGET_HANDLE":
|
||||
break;
|
||||
case "Friends_RejectInvite_CANNOT_PERFORM_ON_SELF":
|
||||
break;
|
||||
case "DATABASE_CONSTRAINT_FAILURE":
|
||||
break;
|
||||
case "Friends_RejectInvite_NO_INVITE":
|
||||
break;
|
||||
case "SUCCESS":
|
||||
ConsoleWindow.Trace("c2f_RejectInviteResult = " + c2f_RejectInviteResult);
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function f2c_GetFriendInvites():Void
|
||||
{
|
||||
ExternalInterface.call("f2c_GetFriendInvites");
|
||||
}
|
||||
|
||||
public function c2f_GetFriendInvites():Void
|
||||
{
|
||||
ConsoleWindow.Trace("c2f_GetFriendInvites...");
|
||||
var invitesSent:Number = arguments[0];
|
||||
var invitesReceived:Number = arguments[1];
|
||||
for (var i:Number = 0; i < invitesSent; i++)
|
||||
{
|
||||
var handleOfUserInviteSentTo:String = arguments[2+i];
|
||||
ConsoleWindow.Trace("invite sent to: " + handleOfUserInviteSentTo);
|
||||
AddListEntry( handleOfUserInviteSentTo, "INVITED" );
|
||||
}
|
||||
|
||||
for (var i:Number = 0; i < invitesReceived; i++)
|
||||
{
|
||||
var handleOfUserInviteReceivedFrom:String = arguments[2+i+invitesSent];
|
||||
ConsoleWindow.Trace("invite received from: " + handleOfUserInviteReceivedFrom);
|
||||
AddListEntry( handleOfUserInviteReceivedFrom, "REQUESTED" );
|
||||
}
|
||||
|
||||
//TODO: remove this once c++ sends down proper data
|
||||
for ( var n:Number = 0; n < 5; n++ )
|
||||
{
|
||||
AddListEntry( "possible friend" + mMovieClipList.length, "REQUESTED" );
|
||||
}
|
||||
|
||||
OnMoveClipListUpdated();
|
||||
ShowPage(1);
|
||||
}
|
||||
|
||||
public function InviteFriend( _username:String, _profileImageIndex:Number ):Void
|
||||
{
|
||||
AddListEntry( _username );
|
||||
RefreshPage();
|
||||
OnMoveClipListUpdated();
|
||||
}
|
||||
|
||||
public function RemovePendingEntry( friendEntry:MovieClip ):Void
|
||||
{
|
||||
//TODO: should we notify c++ that en entry is removed here?
|
||||
RemoveEntryFromList( friendEntry, mMovieClipList );
|
||||
}
|
||||
|
||||
private function AddListEntry( usernameToAdd:String, inviteText:String ):MovieClip
|
||||
{
|
||||
var userEntry:MovieClip = attachMovie("MyFriendsListEntry", "mcFriendEntry" + mMovieClipList.length, getNextHighestDepth() );
|
||||
userEntry._visible = false;
|
||||
userEntry.tfUsername.text = usernameToAdd;
|
||||
userEntry.tfInvitation.text = inviteText;
|
||||
mMovieClipList.push( userEntry );
|
||||
|
||||
var self:PossibleFriendsScreen = this;
|
||||
userEntry.mcDelete.onPress = function() { self.RemovePendingEntry( this._parent ); }
|
||||
if ( inviteText == "REQUESTED" )
|
||||
{
|
||||
userEntry.mcMail.onPress = function() { self.ShowInvitationMail_Incoming( this._parent.tfUsername.text ); }
|
||||
}
|
||||
return userEntry;
|
||||
}
|
||||
|
||||
private function ShowMyFriends():Void
|
||||
{
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.FRIENDS );
|
||||
}
|
||||
|
||||
private function OnShowMovieClipEntry( mcEntry:MovieClip, index:Number ):Void
|
||||
{
|
||||
super.OnShowMovieClipEntry( mcEntry, index );
|
||||
//mcEntry.tfInvitation._visible = false;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,149 @@
|
||||
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()
|
||||
]);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,137 @@
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.Button;
|
||||
|
||||
class Screens.RecoverPasswordScreen extends Screen
|
||||
{
|
||||
private var userNameEdit:TextInput;
|
||||
private var recoverPasswordByUsername:Button;
|
||||
private var goBackToConnectedToServer:Button;
|
||||
|
||||
private var bForgotPassword:Boolean;
|
||||
private var btnBack:Button;
|
||||
|
||||
private var btnSendEmail:Button;
|
||||
private var btnSendUsername:Button;
|
||||
private var btnSendAnswer:Button;
|
||||
|
||||
private static var mInstance:RecoverPasswordScreen;
|
||||
|
||||
public function RecoverPasswordScreen()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing RecoverPasswordScreen");
|
||||
|
||||
mScreenId = ScreenID.RECOVER_PASSWORD;
|
||||
mScreenTabId = ScreenTab.ID_LOGIN;
|
||||
|
||||
mInstance = this;
|
||||
}
|
||||
|
||||
public static function get Instance():RecoverPasswordScreen
|
||||
{
|
||||
return mInstance;
|
||||
}
|
||||
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
//Add click event for buttons
|
||||
goBackToConnectedToServer.addEventListener("click", this, "goBackToConnectedToServerFunc");
|
||||
btnBack.addEventListener("click", this, "Back");
|
||||
btnSendUsername.addEventListener("click", this, "f2c_RecoverPasswordByUsername");
|
||||
btnSendAnswer.addEventListener("click", this, "f2c_GetPasswordByPasswordRecoveryAnswer");
|
||||
|
||||
//Add callbacks for C++
|
||||
ExternalInterface.addCallback("c2f_RecoverPasswordByUsername", this, c2f_RecoverPasswordByUsername);
|
||||
ExternalInterface.addCallback("c2f_GetPasswordByPasswordRecoveryAnswer", this, c2f_GetPasswordByPasswordRecoveryAnswer);
|
||||
|
||||
super.VOnFinishedLoading();
|
||||
}
|
||||
|
||||
public function SetMode( forgotPassword:Boolean ):Void
|
||||
{
|
||||
ConsoleWindow.Trace("SetMode..." + forgotPassword);
|
||||
bForgotPassword = forgotPassword;
|
||||
}
|
||||
|
||||
public function OnShow():Void
|
||||
{
|
||||
if ( bForgotPassword )
|
||||
{
|
||||
btnSendEmail._visible = false;
|
||||
btnSendUsername._visible = true;
|
||||
btnSendAnswer._visible = false;
|
||||
gotoAndStop("Password1");
|
||||
}
|
||||
else
|
||||
{
|
||||
btnSendEmail._visible = true;
|
||||
btnSendUsername._visible = false;
|
||||
btnSendAnswer._visible = false;
|
||||
gotoAndStop("Username");
|
||||
}
|
||||
}
|
||||
|
||||
//gets user recovery question
|
||||
private var mTempUsername:String;
|
||||
public function f2c_RecoverPasswordByUsername():Void
|
||||
{
|
||||
mTempUsername = this["tiUserName"].text;
|
||||
//ConsoleWindow.Trace("f2c_RecoverPasswordByUsername.... username = " + );
|
||||
ExternalInterface.call("f2c_RecoverPasswordByUsername", mTempUsername);
|
||||
}
|
||||
|
||||
//try to get password by answering the secret question
|
||||
public function f2c_GetPasswordByPasswordRecoveryAnswer():Void
|
||||
{
|
||||
ConsoleWindow.Trace("calling f2c_GetPasswordByPasswordRecoveryAnswer.. answer = " + this["tiAnswer"].text);
|
||||
ExternalInterface.call("f2c_GetPasswordByPasswordRecoveryAnswer", mTempUsername, this["tiAnswer"].text);
|
||||
}
|
||||
|
||||
public function goBackToConnectedToServerFunc():Void
|
||||
{
|
||||
//_root.gotoAndPlay("ConnectedToServer");
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.LOGIN );
|
||||
}
|
||||
|
||||
public function c2f_RecoverPasswordByUsername(resultIdentifier:String, username:String, email:String, secretQuestion:String ):Void
|
||||
{
|
||||
ConsoleWindow.Trace("c2f_RecoverPasswordByUsername..." + arguments);
|
||||
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "SUCCESS":
|
||||
gotoAndStop("Password2");
|
||||
btnSendEmail._visible = false;
|
||||
btnSendUsername._visible = false;
|
||||
btnSendAnswer._visible = true;
|
||||
this["tfSecretQuestion"].text = secretQuestion;
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function c2f_GetPasswordByPasswordRecoveryAnswer(resultIdentifier:String, username:String, secretAnswer:String, password:String ):Void
|
||||
{
|
||||
ConsoleWindow.Trace("c2f_GetPasswordByPasswordRecoveryAnswer..." + arguments);
|
||||
|
||||
switch (resultIdentifier)
|
||||
{
|
||||
case "SUCCESS":
|
||||
break;
|
||||
}
|
||||
|
||||
if ( resultIdentifier != "SUCCESS" )
|
||||
{
|
||||
LobbyInterface.Instance.CreateMessageBox( resultIdentifier );
|
||||
}
|
||||
}
|
||||
|
||||
public function Back():Void
|
||||
{
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.LOGIN );
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,291 @@
|
||||
import flash.display.BitmapData;
|
||||
import flash.external.*;
|
||||
import gfx.controls.TextInput;
|
||||
import gfx.controls.Button;
|
||||
import gfx.controls.CheckBox;
|
||||
import gfx.data.dataProvider;
|
||||
import gfx.controls.DropdownMenu;
|
||||
|
||||
//Personal Infomation
|
||||
class Screens.RegisterAccountScreen extends Screen
|
||||
{
|
||||
private var firstName:TextInput;
|
||||
private var middleName:TextInput;
|
||||
private var lastName:TextInput;
|
||||
private var homeAddress1:TextInput;
|
||||
private var homeAddress2:TextInput;
|
||||
private var homeCity:TextInput;
|
||||
private var homeState:DropdownMenu;
|
||||
private var homeZipCode:TextInput;
|
||||
private var emailAddress:TextInput;
|
||||
|
||||
private var birthMonth:DropdownMenu;
|
||||
private var birthDay:DropdownMenu;
|
||||
private var birthYear:DropdownMenu;
|
||||
private var race:DropdownMenu;
|
||||
private var homeCountry:DropdownMenu;
|
||||
private var sex_male:CheckBox;
|
||||
private var sex_female:CheckBox;
|
||||
|
||||
public static var Months:Array = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ];
|
||||
public static var MonthDays:Array = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]; //each element is number of days for that month
|
||||
|
||||
/*private var countryList:Array = ["Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda",
|
||||
"Argentina", "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan", "Azores", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus",
|
||||
"Belgium", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia", "Bosnia And Herzegowina", "Bosnia-Herzegovina", "Botswana", "Bouvet Island", "Brazil",
|
||||
"British Indian Ocean Territory", "British Virgin Islands", "Brunei Darussalam", "Bulgaria", "Burkina Faso", "Burundi", "Cambodia", "Cameroon",
|
||||
"Canada", "Cape Verde", "Cayman Islands", "Central African Republic", "Chad", "Chile", "China", "Christmas Island", "Cocos (Keeling) Islands",
|
||||
"Colombia", "Comoros", "Congo", "Congo, The Democratic Republic O", "Cook Islands", "Corsica", "Costa Rica", "Cote d` Ivoire (Ivory Coast)", "Croatia",
|
||||
"Cuba", "Cyprus", "Czech Republic", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "East Timor", "Ecuador", "Egypt", "El Salvador",
|
||||
"Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia", "Falkland Islands (Malvinas)", "Faroe Islands", "Fiji", "Finland", "France (Includes Monaco)",
|
||||
"France, Metropolitan", "French Guiana", "French Polynesia", "French Polynesia (Tahiti)", "French Southern Territories", "Gabon", "Gambia", "Georgia",
|
||||
"Germany", "Ghana", "Gibraltar", "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guinea", "Guinea-Bissau", "Guyana", "Haiti",
|
||||
"Heard And Mc Donald Islands", "Holy See (Vatican City State)", "Honduras", "Hong Kong", "Hungary", "Iceland", "India", "Indonesia", "Iran", "Iraq",
|
||||
"Ireland", "Ireland (Eire)", "Israel", "Italy", "Jamaica", "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Korea, Democratic People''s Repub",
|
||||
"Kuwait", "Kyrgyzstan", "Laos", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg", "Macao", "Macedonia",
|
||||
"Madagascar", "Madeira Islands", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Martinique", "Mauritania", "Mauritius", "Mayotte",
|
||||
"Mexico", "Micronesia, Federated States Of", "Moldova, Republic Of", "Monaco", "Mongolia", "Montserrat", "Morocco", "Mozambique", "Myanmar (Burma)",
|
||||
"Namibia", "Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand", "Nicaragua", "Niger", "Nigeria", "Niue",
|
||||
"Norfolk Island", "Northern Mariana Islands", "Norway", "Oman", "Pakistan", "Palau", "Palestinian Territory, Occupied", "Panama", "Papua New Guinea",
|
||||
"Paraguay", "Peru", "Philippines", "Pitcairn", "Poland", "Portugal", "Puerto Rico", "Qatar", "Reunion", "Romania", "Russian Federation", "Rwanda",
|
||||
"Saint Kitts And Nevis", "San Marino", "Sao Tome and Principe", "Saudi Arabia", "Senegal", "Serbia-Montenegro", "Seychelles", "Sierra Leone", "Singapore",
|
||||
"Slovak Republic", "Slovenia", "Solomon Islands", "Somalia", "South Africa", "South Georgia And The South Sand", "South Korea", "Spain", "Sri Lanka",
|
||||
"St. Christopher and Nevis", "St. Helena", "St. Lucia", "St. Pierre and Miquelon", "St. Vincent and the Grenadines", "Sudan", "Suriname",
|
||||
"Svalbard And Jan Mayen Islands", "Swaziland", "Sweden", "Switzerland", "Syrian Arab Republic", "Taiwan", "Tajikistan", "Tanzania", "Thailand",
|
||||
"Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tristan da Cunha", "Tunisia", "Turkey", "Turkmenistan", "Turks and Caicos Islands", "Tuvalu",
|
||||
"Uganda", "Ukraine", "Unid Arab Emirates", "United Kingdom", "United States", "United States Minor Outlying Isl", "Uruguay", "Uzbekistan",
|
||||
"Vanuatu", "Vatican City", "Venezuela", "Vietnam", "Virgin Islands (U.S.)", "Wallis and Furuna Islands", "Western Sahara",
|
||||
"Western Samoa", "Yemen", "Yugoslavia", "Zaire", "Zambia", "Zimbabwe", "Great Britain"];*/
|
||||
public static var stateList:Array = ["Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", "Delaware", "Florida",
|
||||
"Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Maryland",
|
||||
"Massachusetts", "Michigan", "Minnesota", "Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire",
|
||||
"New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota", "Ohio", "Oklahoma", "Oregon",
|
||||
"Pennsylvania", "Rhode Island", "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont",
|
||||
"Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming" ]
|
||||
|
||||
private var cancelButton:Button;
|
||||
private var nextButton:Button;
|
||||
|
||||
public function RegisterAccountScreen()
|
||||
{
|
||||
ConsoleWindow.Trace("Constructing RegisterAccountScreen");
|
||||
|
||||
mScreenId = ScreenID.REGISTER_ACCOUNT_PERSONAL;
|
||||
mScreenTabId = ScreenTab.ID_REGISTRATION;
|
||||
}
|
||||
|
||||
public function VOnFinishedLoading():Void
|
||||
{
|
||||
birthMonth.dataProvider = Months;
|
||||
//homeCountry.dataProvider = countryList;
|
||||
homeState.dataProvider = stateList;
|
||||
race.dataProvider = ["CAUSCASIAN", "AFRCAN AMERICAN", "NATIVE AMERICAN", "HISPANIC", "ASIAN", "PACIFIC ISLANDS", "UNSPECIFIED"];
|
||||
|
||||
var year:Array = new Array();
|
||||
for ( var i = 2009; i > 1930; i-- )
|
||||
{
|
||||
year.push( i );
|
||||
}
|
||||
|
||||
birthYear.dataProvider = year;
|
||||
|
||||
OnMonthChange();
|
||||
|
||||
//Add click event for buttons
|
||||
cancelButton.addEventListener("click", this, "Cancel");
|
||||
nextButton.addEventListener("click", this, "Next");
|
||||
birthMonth.addEventListener("change", this, "OnMonthChange");
|
||||
sex_male.addEventListener("select", this, "OnSelectMale");
|
||||
sex_female.addEventListener("select", this, "OnSelectFemale");
|
||||
|
||||
super.VOnFinishedLoading();
|
||||
}
|
||||
|
||||
public function OnShow():Void
|
||||
{
|
||||
if ( LobbyInterface.Instance.IsLoggedIn() )
|
||||
{
|
||||
gotoAndStop("Update");
|
||||
PopulateFromAccountInfo();
|
||||
}
|
||||
else
|
||||
{
|
||||
gotoAndStop("New");
|
||||
}
|
||||
//homeState.dataProvider = ["causcasian", "afrcan american", "native american", "hispanic", "asian", "pacific islands", "unspecified"];//; stateList;
|
||||
}
|
||||
|
||||
public function Next():Void
|
||||
{
|
||||
ConsoleWindow.Trace(" month = " + GetSelectedMonth() + ", day = " + GetSelectedDate() + ", year = " + GetSelectedYear() );
|
||||
ConsoleWindow.Trace("Age in days = " + GetAgeInDays());
|
||||
if ( LobbyInterface.Instance.IsLoggedIn() )
|
||||
{
|
||||
SaveToAccountInfo();
|
||||
}
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.REGISTER_ACCOUNT_BILLING );
|
||||
}
|
||||
|
||||
public function Cancel():Void
|
||||
{
|
||||
if ( LobbyInterface.Instance.IsLoggedIn() )
|
||||
{
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.PROFILE );
|
||||
//user cancel editing profile info, let's reset it by re-getting it from server
|
||||
AccountInfo.Instance.GetAccountInfoFromServer();
|
||||
}
|
||||
else
|
||||
{
|
||||
LobbyInterface.Instance.ShowScreen( ScreenID.LOGIN );
|
||||
}
|
||||
}
|
||||
|
||||
public function OnMonthChange(event:Object):Void
|
||||
{
|
||||
RepopulateBirthDayList( birthMonth.selectedIndex + 1 );
|
||||
}
|
||||
|
||||
public function RepopulateBirthDayList( month:Number ):Void
|
||||
{
|
||||
var length = MonthDays[month - 1];
|
||||
var days:Array = new Array();
|
||||
for ( var i = 1; i <= length; i++ )
|
||||
{
|
||||
days.push( string(i) );
|
||||
}
|
||||
birthDay.dataProvider = days;
|
||||
}
|
||||
|
||||
public function OnSelectMale():Void
|
||||
{
|
||||
sex_female.selected = !sex_male.selected;
|
||||
}
|
||||
|
||||
public function OnSelectFemale():Void
|
||||
{
|
||||
sex_male.selected = !sex_female.selected;
|
||||
}
|
||||
|
||||
public function GetStateList():Array
|
||||
{
|
||||
return stateList;
|
||||
}
|
||||
|
||||
public function GetStreetAddress():String
|
||||
{
|
||||
return homeAddress1.text;
|
||||
}
|
||||
|
||||
public function GetStreetAddress2():String
|
||||
{
|
||||
return homeAddress2.text;
|
||||
}
|
||||
|
||||
public function GetCity():String
|
||||
{
|
||||
return homeCity.text;
|
||||
}
|
||||
|
||||
public function GetState():Number
|
||||
{
|
||||
return homeState.selectedIndex;
|
||||
}
|
||||
|
||||
public function GetZipCode():String
|
||||
{
|
||||
return homeZipCode.text;
|
||||
}
|
||||
|
||||
public function GetFirstName():String
|
||||
{
|
||||
return firstName.text;
|
||||
}
|
||||
|
||||
public function GetMiddleInitial():String
|
||||
{
|
||||
return middleName.text;
|
||||
}
|
||||
|
||||
public function GetLastName():String
|
||||
{
|
||||
return lastName.text;
|
||||
}
|
||||
|
||||
public function GetSelectedRace():String
|
||||
{
|
||||
return race.dataProvider[race.selectedIndex];
|
||||
}
|
||||
|
||||
public function GetIsMale():Boolean
|
||||
{
|
||||
return sex_male.selected;
|
||||
}
|
||||
|
||||
public function GetSelectedState():String
|
||||
{
|
||||
return homeState.dataProvider[homeState.selectedIndex];
|
||||
}
|
||||
|
||||
public function GetEmail():String
|
||||
{
|
||||
return emailAddress.text;
|
||||
}
|
||||
|
||||
public function GetSelectedMonth():Number
|
||||
{
|
||||
return birthMonth.dataProvider[birthMonth.selectedIndex];
|
||||
}
|
||||
|
||||
public function GetSelectedDate():Number
|
||||
{
|
||||
return birthDay.dataProvider[birthDay.selectedIndex];
|
||||
}
|
||||
|
||||
public function GetSelectedYear():Number
|
||||
{
|
||||
return birthYear.dataProvider[birthYear.selectedIndex];
|
||||
}
|
||||
|
||||
public function GetAgeInDays():Number
|
||||
{
|
||||
return AccountInfo.ConvertBirthdateToDays( GetSelectedMonth(), GetSelectedDate(), GetSelectedYear() );
|
||||
}
|
||||
|
||||
private function PopulateFromAccountInfo():Void
|
||||
{
|
||||
firstName.text = AccountInfo.Instance.GetFirstName();
|
||||
middleName.text = AccountInfo.Instance.GetMiddleName();
|
||||
lastName.text = AccountInfo.Instance.GetLastName();
|
||||
//birthMonth.selectedIndex = AccountInfo.Instance.get
|
||||
emailAddress.text = AccountInfo.Instance.GetEmailAddress();
|
||||
sex_male.selected = AccountInfo.Instance.GetIsMale();
|
||||
sex_female.selected = !sex_male.selected;
|
||||
homeAddress1.text = AccountInfo.Instance.GetHomeAddress1();
|
||||
homeAddress2.text = AccountInfo.Instance.GetHomeAddress2();
|
||||
homeCity.text = AccountInfo.Instance.GetHomeCity();
|
||||
homeState.selectedIndex = GetIndexFromElement( AccountInfo.Instance.GetHomeState(), stateList );
|
||||
homeZipCode.text = AccountInfo.Instance.GetHomeZipCode();
|
||||
race.selectedIndex = GetIndexFromElement( AccountInfo.Instance.GetRace(), race.dataProvider );
|
||||
birthYear.selectedIndex = GetIndexFromElement( String(AccountInfo.Instance.GetBirthYear()), birthYear.dataProvider );
|
||||
birthMonth.selectedIndex = GetIndexFromElement( AccountInfo.Instance.GetBirthMonth(), birthMonth.dataProvider );
|
||||
birthDay.selectedIndex = GetIndexFromElement( AccountInfo.Instance.GetBirthDate(), birthDay.dataProvider );
|
||||
//AccountInfo.ConvertAgeDaysToBirthdate( 45 );
|
||||
}
|
||||
|
||||
//temporary save, data will get wiped if user exits edit account
|
||||
private function SaveToAccountInfo():Void
|
||||
{
|
||||
AccountInfo.Instance.SetFirstName( firstName.text );
|
||||
AccountInfo.Instance.SetMiddleName( middleName.text );
|
||||
AccountInfo.Instance.SetLastName( lastName.text );
|
||||
AccountInfo.Instance.SetEmailAddress( emailAddress.text );
|
||||
AccountInfo.Instance.SetIsMale( sex_male.selected );
|
||||
AccountInfo.Instance.SetHomeAddress1( homeAddress1.text );
|
||||
AccountInfo.Instance.SetHomeAddress2( homeAddress2.text );
|
||||
AccountInfo.Instance.SetHomeCity( homeCity.text );
|
||||
AccountInfo.Instance.SetHomeState( GetSelectedState() );
|
||||
AccountInfo.Instance.SetHomeZipCode( homeZipCode.text );
|
||||
AccountInfo.Instance.SetRace( GetSelectedRace() );
|
||||
AccountInfo.Instance.SetAgeInDays( AccountInfo.ConvertBirthdateToDays( GetSelectedMonth(), GetSelectedDate(), GetSelectedYear() ) );
|
||||
}
|
||||
}
|
||||