Beispiel #1
0
 private void OnApplicationPause(bool pause)
 {
     if (this.m_bInit)
     {
         if (!pause)
         {
             GSDK.GoFront();
         }
         else
         {
             GSDK.GoBack();
         }
     }
     if (NetworkAccelerator.Inited)
     {
         if (!pause)
         {
             NetworkAccelerator.GoFront();
         }
         else
         {
             NetworkAccelerator.GoBack();
         }
     }
 }
    public static void ChangeLogLevel(int level)
    {
        if (!NetworkAccelerator.s_inited)
        {
            return;
        }
        long num = (long)Mathf.Clamp(level, 1, 5);

        try
        {
            AndroidJavaClass androidJavaClass = new AndroidJavaClass("com.subao.gamemaster.GameMaster");
            if (androidJavaClass != null)
            {
                androidJavaClass.CallStatic("setLong", new object[]
                {
                    NetworkAccelerator.KEY_LOG_LEVLE,
                    num
                });
            }
        }
        catch (Exception ex)
        {
            NetworkAccelerator.PrintLog("ex " + ex.ToString());
        }
    }
    public static string GetEffect()
    {
        if (!NetworkAccelerator.s_started)
        {
            return(null);
        }
        string result = null;

        try
        {
            AndroidJavaClass androidJavaClass = new AndroidJavaClass("com.subao.gamemaster.GameMaster");
            if (androidJavaClass != null)
            {
                result = androidJavaClass.CallStatic <string>("getString", new object[]
                {
                    NetworkAccelerator.KEY_GET_ACCEL_EFFECT
                });
            }
        }
        catch (Exception ex)
        {
            NetworkAccelerator.PrintLog("ex " + ex.ToString());
        }
        return(result);
    }
Beispiel #4
0
 public void DetermineWhichSpeed()
 {
     if (!NetworkAccelerator.IsCommercialized())
     {
         if (NetworkAccelerator.Mode == NetworkAccelerator.XunYouMode.Disable)
         {
             NetworkAccelerator.SetNetAccConfig(false);
         }
         else if (!NetworkAccelerator.Inited)
         {
             NetworkAccelerator.SetNetAccConfig(false);
         }
         else if (NetworkAccelerator.IsAutoNetAccConfigOpen() || NetworkAccelerator.IsNetAccConfigOpen())
         {
             NetworkAccelerator.SetNetAccConfig(true);
         }
         else
         {
             NetworkAccelerator.SetNetAccConfig(false);
         }
     }
     else if (!NetworkAccelerator.isAccelOpened())
     {
         this.StartGSDKSpeed(true);
     }
 }
 public static void setRecommendationGameIP(string ip, int port)
 {
     NetworkAccelerator.PrintLog(string.Concat(new object[]
     {
         "setRecommendationGameIP :",
         ip,
         ", port :",
         port
     }));
     if (!NetworkAccelerator.s_inited)
     {
         return;
     }
     try
     {
         AndroidJavaClass androidJavaClass = new AndroidJavaClass("com.subao.gamemaster.GameMaster");
         if (androidJavaClass != null)
         {
             androidJavaClass.CallStatic("setRecommendationGameIP", new object[]
             {
                 ip,
                 port
             });
         }
     }
     catch (Exception ex)
     {
         NetworkAccelerator.PrintLog("ex " + ex.ToString());
     }
     NetworkAccelerator.PrintLog("Set setRecommendationGameIP Success!");
 }
Beispiel #6
0
    private static bool Stop()
    {
        if (!NetworkAccelerator.s_inited)
        {
            return(NetworkAccelerator.s_started);
        }
        if (!NetworkAccelerator.s_started)
        {
            return(NetworkAccelerator.s_started);
        }
        AndroidJavaClass androidJavaClass = new AndroidJavaClass("com.subao.gamemaster.GameMaster");
        bool             flag             = false;

        if (androidJavaClass != null)
        {
            flag = androidJavaClass.CallStatic <bool>("stop", new object[0]);
        }
        if (flag)
        {
            Debug.Log("Stop GameMaster Success!");
            NetworkAccelerator.ClearUDPCache();
            NetworkAccelerator.s_started = false;
        }
        else
        {
            Debug.LogError("Stop GameMaster Fail!");
        }
        return(NetworkAccelerator.s_started);
    }
Beispiel #7
0
    public static void Init(bool bforceUse = false)
    {
        Debug.Log("Begin Network Acc");
        Singleton <CUIEventManager> .GetInstance().AddUIEventListener(enUIEventID.NetworkAccelerator_TurnOn, new CUIEventManager.OnUIEventHandler(NetworkAccelerator.OnEventTurnOn));

        Singleton <CUIEventManager> .GetInstance().AddUIEventListener(enUIEventID.NetworkAccelerator_Ignore, new CUIEventManager.OnUIEventHandler(NetworkAccelerator.OnEventTurnIgore));

        NetworkAccelerator.s_enabledPrepare = true;
        if (!bforceUse)
        {
            if (!NetworkAccelerator.IsUseACC())
            {
                Debug.Log("NetAcc player close acc");
                return;
            }
        }
        else
        {
            NetworkAccelerator.SetUseACC(true);
        }
        NetworkAccelerator.s_enabled = true;
        Debug.Log("NetAcc key:" + NetworkAccelerator.key);
        Debug.Log("NetAcc enable & java begin");
        AndroidJavaObject GMContext = null;

        using (AndroidJavaClass androidJavaClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
        {
            GMContext = androidJavaClass.GetStatic <AndroidJavaObject>("currentActivity");
        }
        AndroidJavaClass GMClass = new AndroidJavaClass("com.subao.gamemaster.GameMaster");

        if (GMClass != null)
        {
            GMContext.Call("runOnUiThread", new object[]
            {
                delegate
                {
                    int num = GMClass.CallStatic <int>("init", new object[]
                    {
                        GMContext,
                        1,
                        NetworkAccelerator.key,
                        "KingsGlory",
                        "libapollo.so",
                        13001
                    });
                    if (num >= 0)
                    {
                        Debug.Log("Initialize GameMaster Success!");
                        NetworkAccelerator.s_inited = true;
                        NetworkAccelerator.ChangeLogLevel(NetworkAccelerator.LOG_LEVEL_ERROR);
                    }
                    else
                    {
                        Debug.LogError("Initialize GameMaster Fail!, ret:" + num);
                    }
                }
            });
        }
    }
    public static long GetDelay()
    {
        if (!NetworkAccelerator.s_started)
        {
            return(-1L);
        }
        long result = -1L;

        try
        {
            AndroidJavaClass androidJavaClass = new AndroidJavaClass("com.subao.gamemaster.GameMaster");
            if (androidJavaClass != null)
            {
                result = androidJavaClass.CallStatic <long>("getLong", new object[]
                {
                    NetworkAccelerator.KEY_GET_NETDELAY
                });
            }
        }
        catch (Exception ex)
        {
            NetworkAccelerator.PrintLog("ex " + ex.ToString());
        }
        return(result);
    }
Beispiel #9
0
        public static void InitRelayConnnecting(COMDT_TGWINFO inRelayTgw)
        {
            if (inRelayTgw.dwVipCnt > 0)
            {
                string host = null;
                if (MonoSingleton <CTongCaiSys> .GetInstance().IsCanUseTongCai())
                {
                    host = ApolloConfig.loginOnlyIpOrUrl;
                }
                else if ((inRelayTgw.szRelayUrl.Length > 0) && (inRelayTgw.szRelayUrl[0] != 0))
                {
                    host = StringHelper.UTF8BytesToString(ref inRelayTgw.szRelayUrl);
                }
                else
                {
                    host = ApolloConfig.loginOnlyIpOrUrl;
                }
                Singleton <ReconnectIpSelect> .instance.SetRelayTgw(inRelayTgw);

                LookUpDNSOfServerAndConfigNetAcc(host, inRelayTgw.wEchoPort);
                ConnectorParam para = new ConnectorParam {
                    bIsUDP = (inRelayTgw.bIsUDP <= 0) ? false : true,
                    ip     = host
                };
                para.SetVPort(inRelayTgw.wVPort);
                NetworkAccelerator.ClearUDPCache();
                NetworkAccelerator.SetEchoPort(inRelayTgw.wEchoPort);
                ApolloConfig.echoPort = inRelayTgw.wEchoPort;
                Singleton <NetworkModule> .GetInstance().InitGameServerConnect(para);
            }
        }
        public static void InitRelayConnnecting(COMDT_TGWINFO inRelayTgw)
        {
            if (inRelayTgw.dwVipCnt > 0u)
            {
                string text;
                if (MonoSingleton <CTongCaiSys> .GetInstance().IsCanUseTongCai())
                {
                    text = ApolloConfig.loginOnlyIpOrUrl;
                }
                else if (inRelayTgw.szRelayUrl.Length > 0 && inRelayTgw.szRelayUrl[0] != 0)
                {
                    text = StringHelper.UTF8BytesToString(ref inRelayTgw.szRelayUrl);
                }
                else
                {
                    text = ApolloConfig.loginOnlyIpOrUrl;
                }
                MonoSingleton <GSDKsys> .GetInstance().DetermineWhichSpeed();

                Singleton <ReconnectIpSelect> .instance.SetRelayTgw(inRelayTgw);

                NetworkModule.LookUpDNSOfServerAndConfigNetAcc(text, (int)inRelayTgw.wEchoPort);
                ConnectorParam connectorParam = new ConnectorParam();
                connectorParam.bIsUDP = (inRelayTgw.bIsUDP > 0);
                connectorParam.ip     = text;
                connectorParam.SetVPort(inRelayTgw.wVPort);
                NetworkAccelerator.ClearUDPCache();
                NetworkAccelerator.SetEchoPort((int)inRelayTgw.wEchoPort);
                NetworkAccelerator.SetConnectIP(text, inRelayTgw.wVPort);
                ApolloConfig.echoPort = inRelayTgw.wEchoPort;
                Singleton <NetworkModule> .GetInstance().InitGameServerConnect(connectorParam);

                MonoSingleton <GSDKsys> .GetInstance().StartSpeed(text, (int)inRelayTgw.wVPort);
            }
        }
Beispiel #11
0
 private static void SetNetAccIPAndPort()
 {
     if ((!Singleton <FrameSynchr> .instance.m_NetAccSetIPAndPortInvoked && (ApolloConfig.echoPort != 0)) && !string.IsNullOrEmpty(ApolloConfig.loginOnlyIp))
     {
         NetworkAccelerator.setRecommendationGameIP(ApolloConfig.loginOnlyIp, ApolloConfig.echoPort);
         Singleton <FrameSynchr> .instance.m_NetAccSetIPAndPortInvoked = true;
     }
 }
Beispiel #12
0
 private static void SetNetAccIPAndPort()
 {
     if (Singleton <FrameSynchr> .get_instance().m_NetAccSetIPAndPortInvoked || ApolloConfig.echoPort == 0 || string.IsNullOrEmpty(ApolloConfig.loginOnlyIp))
     {
         return;
     }
     NetworkAccelerator.setRecommendationGameIP(ApolloConfig.loginOnlyIp, (int)ApolloConfig.echoPort);
     Singleton <FrameSynchr> .get_instance().m_NetAccSetIPAndPortInvoked = true;
 }
        private void OnOpenXunYouBuyConfirm(CUIEvent uiEvent)
        {
            Singleton <CUINewFlagSystem> .GetInstance().SetNewFlagForXunYouBuy(false);

            string webUIUrl = NetworkAccelerator.getWebUIUrl();

            if (!string.IsNullOrEmpty(webUIUrl))
            {
                CUICommonSystem.OpenUrl(webUIUrl, true, 2);
            }
        }
        private void OnOpenForm(CUIEvent uiEvent)
        {
            CUIFormScript cUIFormScript = Singleton <CUIManager> .GetInstance().OpenForm("UGUI/Form/System/Pay/Form_Partner.prefab", false, true);

            if (cUIFormScript != null && NetworkAccelerator.IsCommercialized())
            {
                CUIRedDotSystem.SetRedDotViewByVersion(enRedID.Lobby_PayEntry);
                Singleton <CUINewFlagSystem> .GetInstance().SetNewFlagForXunYouBuy(true);
            }
            this.UpdateEntryStatus(cUIFormScript);
        }
Beispiel #15
0
 public static void SetNetAccConfig(bool open)
 {
     if (open)
     {
         NetworkAccelerator.Start();
     }
     else
     {
         NetworkAccelerator.Stop();
     }
     PlayerPrefs.SetInt(NetworkAccelerator.PLAYER_PREF_NET_ACC, (!open) ? 0 : 1);
     PlayerPrefs.Save();
 }
    public static void SetUserToken()
    {
        ApolloAccountInfo accountInfo = Singleton <ApolloHelper> .GetInstance().GetAccountInfo(false);

        if (accountInfo != null)
        {
            ApolloToken token = accountInfo.GetToken(ApolloTokenType.Access);
            if (token != null)
            {
                NetworkAccelerator.setUserToken(accountInfo.OpenId, token.Value);
            }
        }
    }
        private void OnRevertoVisiable(CUIEvent uiEvent)
        {
            CUIFormScript srcFormScript = uiEvent.m_srcFormScript;

            if (srcFormScript == null)
            {
                return;
            }
            GameObject target = srcFormScript.m_formWidgets[1];

            if (NetworkAccelerator.IsCommercialized() && !CUIRedDotSystem.IsShowRedDotByVersion(enRedID.Lobby_PayEntry))
            {
                CUIRedDotSystem.DelRedDot(target);
            }
        }
        public void OpenBuyDianQuanPanel(CUIEvent uiEvent)
        {
            if (this.IsOpenPaySys())
            {
                Singleton <CChatController> .GetInstance().ShowPanel(true, false);

                CUIFormScript cUIFormScript = Singleton <CUIManager> .GetInstance().OpenForm(CPaySystem.s_buyDianQuanFormPath, false, true);

                if (cUIFormScript == null)
                {
                    return;
                }
                GameObject obj        = cUIFormScript.m_formWidgets[0];
                GameObject gameObject = cUIFormScript.m_formWidgets[1];
                if (NetworkAccelerator.IsCommercialized())
                {
                    obj.CustomSetActive(false);
                    gameObject.CustomSetActive(true);
                    if (CUIRedDotSystem.IsShowRedDotByVersion(enRedID.Lobby_PayEntry))
                    {
                        CUIRedDotSystem.AddRedDot(gameObject, enRedDotPos.enTopRight, 0, 0, 0);
                    }
                }
                else
                {
                    obj.CustomSetActive(CTongCaiSys.IsShowBuyTongCaiBtn());
                    gameObject.CustomSetActive(false);
                }
                Singleton <CTopLobbyEntry> .GetInstance().OpenForm();

                this.RefreshBuyDianQuanPanel();
                MonoSingleton <NobeSys> .GetInstance().ShowNobeTipsInDiamond();

                if (uiEvent.m_eventID != enUIEventID.Pay_OpenBuyDianQuanPanelWithLobby)
                {
                    Transform transform = cUIFormScript.transform.Find("bg/btnClose");
                    if (transform)
                    {
                        CUIEventScript component = transform.GetComponent <CUIEventScript>();
                        if (component != null)
                        {
                            component.SetUIEvent(enUIEventType.Click, enUIEventID.None);
                            component.m_closeFormWhenClicked = true;
                        }
                    }
                }
            }
        }
    public static void SetNetAccConfig(bool open)
    {
        if (open)
        {
            NetworkAccelerator.Start();
        }
        else
        {
            NetworkAccelerator.Stop();
        }
        PlayerPrefs.SetInt(NetworkAccelerator.PLAYER_PREF_NET_ACC, open ? 1 : 0);
        PlayerPrefs.Save();
        MonoSingleton <GSDKsys> .GetInstance().StartGSDKSpeed(!open);

        NetworkAccelerator.PrintLog("SetNetAccConfig " + open);
    }
        public void OnOpenTongCaiBuy(CUIEvent uiEvent)
        {
            uint srv2CltGlobalValue = GameDataMgr.GetSrv2CltGlobalValue(RES_SRV2CLT_GLOBAL_CONF_TYPE.RES_SRV2CLT_GLOBAL_CONF_TYPE_TONGCAI_XUNYOU_MUTEX_TIPS_1);
            bool flag = srv2CltGlobalValue == 1u;

            NetworkAccelerator.UserStatus userStatus = NetworkAccelerator.GetUserStatus();
            flag = (flag && (userStatus == NetworkAccelerator.UserStatus.InUse || userStatus == NetworkAccelerator.UserStatus.FreeTrial));
            if (flag)
            {
                Singleton <CUIManager> .GetInstance().OpenMessageBoxWithCancel(Singleton <CTextManager> .GetInstance().GetText("Partner_Mutext_Tips_1"), enUIEventID.Partner_OpenTongcai_Buy_Confirm, enUIEventID.None, false);
            }
            else
            {
                Singleton <CUIEventManager> .GetInstance().DispatchUIEvent(enUIEventID.Partner_OpenTongcai_Buy_Confirm);
            }
        }
        public static void RefreshSysEntryChargeRedDot()
        {
            if (!NetworkAccelerator.IsCommercialized())
            {
                return;
            }
            CUIFormScript form = Singleton <CUIManager> .GetInstance().GetForm(CLobbySystem.SYSENTRY_FORM_PATH);

            if (form != null)
            {
                GameObject gameObject = Utility.FindChild(form.gameObject, "PlayerBtn/Dianquan/Button");
                if (gameObject != null && CUIRedDotSystem.IsShowRedDotByVersion(enRedID.Lobby_PayEntry))
                {
                    CUIRedDotSystem.AddRedDot(gameObject, enRedDotPos.enTopRight, 0, 0, 0);
                }
            }
        }
 public static void TryToSendExpireTime()
 {
     if (NetworkAccelerator.s_mode == NetworkAccelerator.XunYouMode.Official)
     {
         NetworkAccelerator.UserStatus userStatus = NetworkAccelerator.GetUserStatus();
         if (userStatus == NetworkAccelerator.UserStatus.InUse || userStatus == NetworkAccelerator.UserStatus.Expired)
         {
             string vIPValidTime  = NetworkAccelerator.getVIPValidTime();
             uint   dwServEndTime = Utility.ToUtcSeconds(Utility.StrToDateTime(vIPValidTime, "yyyy-MM-dd HH:mm:ss"));
             CSPkg  cSPkg         = NetworkModule.CreateDefaultCSPKG(1480u);
             CSPKG_CHKXUNYOUSERV_REQ cSPKG_CHKXUNYOUSERV_REQ = new CSPKG_CHKXUNYOUSERV_REQ();
             cSPKG_CHKXUNYOUSERV_REQ.dwServEndTime = dwServEndTime;
             cSPkg.stPkgData.stChkXunyouServ       = cSPKG_CHKXUNYOUSERV_REQ;
             Singleton <NetworkModule> .GetInstance().SendLobbyMsg(ref cSPkg, false);
         }
     }
 }
 private static void setWiFiAccelSwitch(bool on)
 {
     try
     {
         AndroidJavaClass androidJavaClass = new AndroidJavaClass("com.subao.gamemaster.GameMaster");
         if (androidJavaClass != null)
         {
             androidJavaClass.CallStatic("setWiFiAccelSwitch", new object[]
             {
                 on
             });
         }
     }
     catch (Exception ex)
     {
         NetworkAccelerator.PrintLog("ex " + ex.ToString());
     }
 }
    public static bool isAccelOpened()
    {
        bool result = false;

        try
        {
            AndroidJavaClass androidJavaClass = new AndroidJavaClass("com.subao.gamemaster.GameMaster");
            if (androidJavaClass != null)
            {
                result = androidJavaClass.CallStatic <bool>("isAccelOpened", new object[0]);
            }
        }
        catch (Exception ex)
        {
            NetworkAccelerator.PrintLog("ex " + ex.ToString());
        }
        return(result);
    }
    public static string getVIPValidTime()
    {
        string text = string.Empty;

        try
        {
            AndroidJavaClass androidJavaClass = new AndroidJavaClass("com.subao.gamemaster.GameMaster");
            if (androidJavaClass != null)
            {
                text = androidJavaClass.CallStatic <string>("getVIPValidTime", new object[0]);
            }
        }
        catch (Exception ex)
        {
            NetworkAccelerator.PrintLog("ex " + ex.ToString());
        }
        NetworkAccelerator.PrintLog("getVIPValidTime " + text);
        return(text);
    }
    public static NetworkAccelerator.UserStatus GetUserStatus()
    {
        int num = 0;

        try
        {
            AndroidJavaClass androidJavaClass = new AndroidJavaClass("com.subao.gamemaster.GameMaster");
            if (androidJavaClass != null)
            {
                num = androidJavaClass.CallStatic <int>("getAccelerationStatus", new object[0]);
            }
            NetworkAccelerator.PrintLog("GetUserStatus " + (NetworkAccelerator.UserStatus)num);
        }
        catch (Exception ex)
        {
            NetworkAccelerator.PrintLog("ex " + ex.ToString());
        }
        return((NetworkAccelerator.UserStatus)num);
    }
 public static void ClearUDPCache()
 {
     if (!NetworkAccelerator.s_inited)
     {
         return;
     }
     try
     {
         AndroidJavaClass androidJavaClass = new AndroidJavaClass("com.subao.gamemaster.GameMaster");
         if (androidJavaClass != null)
         {
             androidJavaClass.CallStatic("clearUDPCache", new object[0]);
         }
     }
     catch (Exception ex)
     {
         NetworkAccelerator.PrintLog("ex " + ex.ToString());
     }
 }
 public static void setSDKMode(NetworkAccelerator.XunYouMode mode)
 {
     try
     {
         AndroidJavaClass androidJavaClass = new AndroidJavaClass("com.subao.gamemaster.GameMaster");
         if (androidJavaClass != null)
         {
             androidJavaClass.CallStatic("setSDKMode", new object[]
             {
                 (int)mode
             });
             NetworkAccelerator.s_mode = mode;
             NetworkAccelerator.PrintLog("setSDKMode " + NetworkAccelerator.s_mode);
         }
     }
     catch (Exception ex)
     {
         NetworkAccelerator.PrintLog("ex " + ex.ToString());
     }
 }
 private static void setUserToken(string openid, string token)
 {
     try
     {
         AndroidJavaClass androidJavaClass = new AndroidJavaClass("com.subao.gamemaster.GameMaster");
         if (androidJavaClass != null)
         {
             androidJavaClass.CallStatic("setUserToken", new object[]
             {
                 openid,
                 token,
                 ApolloConfig.GetAppID()
             });
         }
     }
     catch (Exception ex)
     {
         NetworkAccelerator.PrintLog("ex " + ex.ToString());
     }
 }
 public static void GoBack()
 {
     if (!NetworkAccelerator.s_inited)
     {
         return;
     }
     NetworkAccelerator.PrintLog("Begin GoBack");
     try
     {
         AndroidJavaClass androidJavaClass = new AndroidJavaClass("com.subao.gamemaster.GameMaster");
         if (androidJavaClass != null)
         {
             androidJavaClass.CallStatic("gameBackground", new object[0]);
         }
     }
     catch (Exception ex)
     {
         NetworkAccelerator.PrintLog("ex " + ex.ToString());
     }
 }