Esempio n. 1
0
 void Update()
 {
     if ((Input.GetKeyDown(KeyCode.Escape)))
     {
         OnLeave();
     }
     if (Global.GameTryReConnTimes > GameSocket.MAXRETRYTTIMES)         //重试
     {
         Global.GameTryReConnTimes = 0;
         UI_Alert.ShowMsg("连接游戏服务器超时,是否重试?", () => {
             GameSocket.GetInstance().ManualShutDown();
             GameSocket.GetInstance().Connect();
         }, () => {
             Leave();
         });
     }
     EventMgr.ins.DispEvent(EventMgr.EnterFrame, null);
     if (Global.LastGameHeartBeatTime != 0 && Global.IsLoginGame)
     {
         ulong nowTime = TimeHelper.GetNowTime();
         ulong left    = nowTime - Global.LastGameHeartBeatTime;
         if (left > 15)                            //回包超时跳出提示,重新登录
         {
             if (Global.CurrentGameId == 10301800) //重连
             {
                 GameSocket.GetInstance().ManualShutDown();
                 GameSocket.GetInstance().Connect(Global.CurrentSelGameRoom.GetSzServiceIP(), (int)Global.CurrentSelGameRoom.uServicePort);
                 Global.LastGameHeartBeatTime = 0;
             }
         }
     }
 }
Esempio n. 2
0
 void OnApplicationPause(bool Pause)
 {
     if (Pause)
     {
         Global.LastGameHeartBeatTime = 0;            //防止网络检查与此处冲突
         GameSocket.GetInstance().Pause();
     }
     else
     {
         GameSocket.GetInstance().Resume();
     }
 }
Esempio n. 3
0
    void ProcessGameSocketMsg()
    {
        if (gameSocket == null)
        {
            gameSocket = GameSocket.GetInstance();
        }

        gameSocket.SendPkgQueue();

        if (gameSocket.rcevPackages != null && gameSocket.rcevPackages.Count > 0)
        {
            Lopackage package = null;
            lock (socket.syncObj)
            {
                package = gameSocket.rcevPackages.Dequeue();
            }
            AnalzyPackage(package, true);
        }
    }
Esempio n. 4
0
    void Leave()
    {
        GameObject cv = GameObject.Find("ContextView");

        if (cv != null)
        {
            cv.transform.Find("UI Root").gameObject.SetActive(true);
        }
        Global.IsLoginGame = false;
        AudioController.Instance.SoundAllStop();
        if (recvTimeDown != null)
        {
            CoroutineTool.inst.StopCoroutine(recvTimeDown);
        }

        onLineUsers.Clear();
        offLineUsers.Clear();
        szUsers.Clear();
        currZhuangStation = 255; //当前庄家位置
        currZName         = "";  //当前庄家名称
        currZScore        = 0;   //当前庄家成绩
        currZTScore       = 0;   //当前庄家总分
        currGameCount     = 0;   //当前游戏局数
        xzCDTime          = 0;   //下注时间
        kpCDTime          = 0;   //开牌时间
        kxCDTime          = 0;   //空闲时间
        recvTimeDown      = null;
        myBets            = new int [8];
        isMyBet           = false;
        waitOut           = false;
        myScore           = 0;
        betTotalMoney     = 0;

        UnityEngine.SceneManagement.SceneManager.LoadScene(0);
        mainUI.Dispose();
        GRoot.inst.RemoveChildren();
        Screen.orientation = ScreenOrientation.Portrait;

        GameSocket.GetInstance().ManualShutDown();
        NetworkManager.Instance.RefreshMoney();         //刷新金额
    }
Esempio n. 5
0
 private GameNetworkManager()
 {
     socket = GameSocket.GetInstance();
 }
Esempio n. 6
0
    void Start()
    {
        Debug.LogWarning("BaiStart start()");
        GameObject cv = GameObject.Find("ContextView");

        if (cv != null)
        {
            cv.transform.Find("UI Root").gameObject.SetActive(false);
        }

        SetAllPackageItemExtension();

        GRoot.inst.SetContentScaleFactor(1136, 640);
        UIPackage.AddPackage("baijiale/baijiale");
        mainUI = UIPackage.CreateObject("baijiale", "main") as UI_main;
        GRoot.inst.AddChild(mainUI);

        head = mainUI.GetChild("head") as UI_Head;
        GButton quit = head.GetChild("quitBtn").asButton;

        quit.onClick.Add(OnLeave);

        Screen.orientation = ScreenOrientation.Landscape;


        //add by zjl
        mainUI.SetNotice("游戏服务器连接中....");
        TimeManager.Instance().UnRegister("loadGame");
        Loading.GetInstance().HideLoading();

        //添加事件监听器
        EventMgr.ins.AddEventListener("1_3", OnConnSucc);           //游戏服务器连接成功
        //登录
        EventMgr.ins.AddEventListener("100_4", OnLoginSucc);        //登录游戏服务器成功
        EventMgr.ins.AddEventListener("100_3", OnLoginError);       //登录游戏服务器失败
        //玩家
        EventMgr.ins.AddEventListener("101_1", OnOnLineUserInfos);  //推送在线玩家信息
        EventMgr.ins.AddEventListener("101_2", OnOffLineUserInfos); //推送掉线玩家信息
        //桌子位置
        EventMgr.ins.AddEventListener("102_1", OnUpSucc);           //玩家起身成功信息
        EventMgr.ins.AddEventListener("102_2", OnSitSucc);          //玩家坐下成功信息
        EventMgr.ins.AddEventListener("102_8", OnSitError);         //玩家坐下失败信息
        //进入&离开
        EventMgr.ins.AddEventListener("102_5", OnUserEnterSucc);    //玩家进入游戏信息
        EventMgr.ins.AddEventListener("102_6", OnUserLeftSucc);     //玩家离开游戏信息
        //金钱
        EventMgr.ins.AddEventListener("103_6", OnUserMoneyUpdate);  //玩家金币更新
        //游戏
        EventMgr.ins.AddEventListener("150_1", OnGameStatus);       //游戏状态
        EventMgr.ins.AddEventListener("150_2", OnGameScenes);       //游戏场景

        EventMgr.ins.AddEventListener("180_130", OnXiaZhu);         //游戏下注
        EventMgr.ins.AddEventListener("180_133", OnShangZhuang);    //游戏上庄

        EventMgr.ins.AddEventListener("180_134", OnGameBegin);      //游戏开始
        EventMgr.ins.AddEventListener("180_131", OnKaiPai);         //游戏开牌
        EventMgr.ins.AddEventListener("180_136", OnGameJieSuan);    //游戏结算

        EventMgr.ins.AddEventListener("1000_02", OnNetError);       //断线重连

        GameSocket.GetInstance().Connect(Global.CurrentSelGameRoom.GetSzServiceIP(), (int)Global.CurrentSelGameRoom.uServicePort);
    }