コード例 #1
0
ファイル: LobbyClient.cs プロジェクト: huokele/shadow-gun
 public static void ConnectToLobby(NetUtils.GeoRegion region)
 {
     if (!IsInitialized)
     {
         InitializeLobby();
     }
 }
コード例 #2
0
    protected override void OnViewShow()
    {
        base.OnViewShow();

        string username   = "";
        bool   rememberMe = true;
        bool   autoLogin  = true;

        CloudUser.instance.GetLoginData(ref m_Nickname, ref username, ref m_Password1Hash, ref m_PasswordLength, ref rememberMe, ref autoLogin);

        m_ReceiveNews = CloudUser.instance.receiveNews;
        m_Region      = CloudUser.instance.region;

        PrepareLabel(USERNAME_LABEL).SetNewText(CloudUser.instance.userName_TODO.MFNormalize());         // display unmodified username here!

        PrepareButton(CLOSE_BUTTON, null, OnClosePressed);
        PrepareButton(CONFIRM_BUTTON, null, OnConfirmPressed);
        m_NicknameBtn  = PrepareButton(NICKNAME_BUTTON, null, OnNicknamePressed);
        m_Password1Btn = PrepareButton(PASSWORD1_BUTTON, null, OnPassword1Pressed);
        m_Password2Btn = PrepareButton(PASSWORD2_BUTTON, null, OnPassword2Pressed);

        if (CloudUser.instance.userAccountKind == E_UserAcctKind.Guest)
        {
            GUIBase_Button button = PrepareButton(MIGRATE_BUTTON, null, OnMigrateGuestPressed);
            button.Widget.m_VisibleOnLayoutShow = true;
            if (button.Widget.Visible == false)
            {
                button.Widget.ShowImmediate(true, true);
            }
        }
        else
        {
            GUIBase_Button button = PrepareButton(Layout, MIGRATE_BUTTON, null, null);
            button.Widget.m_VisibleOnLayoutShow = false;
            if (button.Widget.Visible == true)
            {
                button.Widget.ShowImmediate(false, true);
            }
        }

        GuiBaseUtils.RegisterSwitchDelegate(Layout, NEWS_SWITCH, OnNewsChanged);

        RegisterRollerDelegate(REGION_ROLLER, OnRegionChanged);

        m_NicknameBtn.TextFieldText = m_Nickname;
        m_Password1Btn.SetNewText("");
        m_Password1Btn.TextFieldText = "";

        m_Password2Btn.SetNewText("");
        m_Password2Btn.TextFieldText = "";

        RefreshPage();
    }
コード例 #3
0
    public static string ToLongRegionalString(this DateTime date)
    {
        GeoRegion region = CloudUser.instance.region;

        int pattern = 8000012;

        switch (TextDatabase.GetLanguage())
        {
        case SystemLanguage.English:
            pattern = region == GeoRegion.Europe ? 8000000 : 8000001;
            break;

        case SystemLanguage.German:
            pattern = 8000002;
            break;

        case SystemLanguage.French:
            pattern = region == GeoRegion.Europe ? 8000003 : 8000004;
            break;

        case SystemLanguage.Italian:
            pattern = 8000005;
            break;

        case SystemLanguage.Spanish:
            pattern = region == GeoRegion.Europe ? 8000006 : 8000007;
            break;

        case SystemLanguage.Russian:
            pattern = 8000008;
            break;

        case SystemLanguage.Japanese:
            pattern = 8000009;
            break;

        case SystemLanguage.Chinese:
            pattern = 8000010;
            break;

        case SystemLanguage.Korean:
            pattern = 8000011;
            break;

        default:
            break;
        }

        return(date.ToString(TextDatabase.instance[pattern]));
    }
コード例 #4
0
    public static string GetRegionString(NetUtils.GeoRegion region)
    {
        switch (region)
        {
        case NetUtils.GeoRegion.America:
            return("america");

        case NetUtils.GeoRegion.Europe:
            return("europe");

        case NetUtils.GeoRegion.Asia:
            return("asia");

        default:
            return(null);
        }
    }
コード例 #5
0
 public void SetCustomRegion(GeoRegion region)
 {
     m_CustomRegion = region;
 }
コード例 #6
0
    bool ProcessAuthenticationData(BaseCloudAction[] actions, out string err)
    {
        err = string.Empty;

        foreach (BaseCloudAction action in actions)
        {
            // -------------------------------------------------------------------------
            // Get actual region info...
            if (action is GetUserRegionInfo)
            {
                GetUserRegionInfo data = (GetUserRegionInfo)action;
                m_RealRegion  = data.region;
                m_CountryCode = data.countryCode;
            }
            // -------------------------------------------------------------------------
            // Get custom region info...
            else if (action is GetCustomRegionInfo)
            {
                if (action.isSucceeded == true)
                {
                    GetCustomRegionInfo data = (GetCustomRegionInfo)action;
                    m_CustomRegion = data.region;
                }
                else if (action.isFailed == true)
                {
                    SetUserProductData setAction = new SetUserProductData(m_AuthenticatedUserID, CloudServices.PROP_ID_CUSTOM_REGION, "none");
                    GameCloudManager.AddAction(setAction);
                }
            }
            // -------------------------------------------------------------------------
            // Get available premium accounts...
            else if (action is GetAvailablePremiumAccounts)
            {
                GetAvailablePremiumAccounts data = (GetAvailablePremiumAccounts)action;
                m_AvailableAccts = data.accounts;
                if (m_AvailableAccts == null)
                {
                    // do not break, this isn't critical...
                    Debug.LogWarning("Can't retrive list of all available premium accounts!");
                }
            }
            else if (action is GetUserData)
            {
                if (action.isSucceeded == true)
                {
                    GetUserData data = (GetUserData)action;
                    // -------------------------------------------------------------------------
                    // Get nick name from cloud...
                    if (data.dataID == CloudServices.PROP_ID_NICK_NAME)
                    {
                        string nickName = data.result;
                        if (string.IsNullOrEmpty(nickName) == false)
                        {
                            m_NickName = GuiBaseUtils.FixNickname(nickName, m_UserName);
                        }
                    }
                    // -------------------------------------------------------------------------
                    // Get 'i want news' from cloud...
                    else if (data.dataID == CloudServices.PROP_ID_I_WANT_NEWS)
                    {
                        bool receiveNews;
                        if (bool.TryParse(action.result, out receiveNews) == true)
                        {
                            m_ReceiveNews = receiveNews;
                        }
                    }
                    // -------------------------------------------------------------------------
                    // Get account kind from cloud...
                    else if (data.dataID == CloudServices.PROP_ID_ACCT_KIND)
                    {
                        try
                        {
                            m_UserAcctKind = (E_UserAcctKind)System.Enum.Parse(typeof(E_UserAcctKind), data.result, false);
                        }
                        catch
                        {
                        }
                    }
                }
            }
        }

        return(true);
    }
コード例 #7
0
    public UpdateMFAccountAndFetchPPI UpdateUser(string inPasswordHash, string inNickName, string inEmail, bool inIWantNews, GeoRegion inRegion)
    {
        UpdateMFAccountAndFetchPPI action = new UpdateMFAccountAndFetchPPI(m_AuthenticatedUserID,
                                                                           inNickName,
                                                                           inEmail,
                                                                           inIWantNews,
                                                                           NetUtils.GetRegionString(inRegion));

        GameCloudManager.AddAction(action);

        return(action);
    }
コード例 #8
0
 void OnRegionChanged(int value)
 {
     m_Region = (NetUtils.GeoRegion)value;
     RefreshPage();
 }