コード例 #1
0
ファイル: GameService.cs プロジェクト: wy182000/mahjong
        public void OnEventLoadedCards(EventCmd e)
        {
            _loadedcards = true;
            _controller.FlushUI();
            for (int i = 1; i <= _max; i++)
            {
                if (_playes.ContainsKey(i))
                {
                    if (_playes[i].Ori == Player.Orient.BOTTOM)
                    {
                        _controller.Scene.SetupBottomPlayer();
                    }
                    else if (_playes[i].Ori == Player.Orient.LEFT)
                    {
                        _controller.Scene.SetupLeftPlayer();
                    }
                    else if (_playes[i].Ori == Player.Orient.TOP)
                    {
                        _controller.Scene.SetupTopPlayer();
                    }
                    else if (_playes[i].Ori == Player.Orient.RIGHT)
                    {
                        _controller.Scene.SetupRightPlayer();
                    }
                }
            }

            SendStep();
        }
コード例 #2
0
        public void SetupMap(EventCmd e)
        {
            GameObject map = e.Orgin;

            Debug.Assert(_scene != null);
            _map = _scene.SetupMap(map);
        }
コード例 #3
0
ファイル: GameController.cs プロジェクト: wy182000/mahjong
        public void OnTakeDeal(EventCmd e)
        {
            _take1time++;
            if (_take1time > 4)
            {
                _takeround++;
                _take1time = 1;
            }
            if (_takeround > 4)
            {
                for (int i = 1; i <= 4; i++)
                {
                    _service.GetPlayer(i).SortCards();
                }
                return;
            }
            _curidx += 1;
            if (_curidx > 4)
            {
                _curidx = 1;
            }
            var player = _service.GetPlayer(_curidx);

            player.Deal();
        }
コード例 #4
0
ファイル: BottomPlayer.cs プロジェクト: wy182000/mahjong
 private void OnSendQue(EventCmd e)
 {
     C2sSprotoType.xuanque.request request = new C2sSprotoType.xuanque.request();
     request.idx = _idx;
     request.que = (long)(Card.CardType)e.Msg["cardtype"];
     _ctx.SendReq <C2sProtocol.xuanque>(C2sProtocol.xuanque.Tag, request);
 }
コード例 #5
0
ファイル: GameController.cs プロジェクト: wy182000/mahjong
        public void SetupScene(EventCmd e)
        {
            GameObject word = e.Orgin;

            _scene = new Scene(_ctx, this, word);
            _ctx.EnqueueRenderQueue(RenderLoadCard);
        }
コード例 #6
0
ファイル: BottomPlayer.cs プロジェクト: wy182000/mahjong
 private void OnSendPao(EventCmd e)
 {
     C2sSprotoType.xuanpao.request request = new C2sSprotoType.xuanpao.request();
     request.idx = _idx;
     request.fen = (long)e.Msg["fen"];
     _ctx.SendReq <C2sProtocol.xuanpao>(C2sProtocol.xuanpao.Tag, request);
 }
コード例 #7
0
        public void OnSendCreate(EventCmd e)
        {
            C2sSprotoType.create.request request = new C2sSprotoType.create.request();

            int provice = (int)e.Msg[CrCode.provice];

            if (provice == Provice.Sichuan)
            {
                request.provice          = Provice.Sichuan;
                request.ju               = (int)e.Msg[CrCode.ju];
                request.overtype         = e.Msg.GetField <int>(CrCode.overtype);
                request.sc               = new C2sSprotoType.crsc();
                request.sc.hujiaozhuanyi = (int)e.Msg[CrCode.hujiaozhuanyi];
                request.sc.zimo          = (int)e.Msg[CrCode.zimo];
                request.sc.dianganghua   = (int)e.Msg[CrCode.dianganghua];
                request.sc.daiyaojiu     = (int)e.Msg[CrCode.daiyaojiu];
                request.sc.duanyaojiu    = (int)e.Msg[CrCode.duanyaojiu];
                request.sc.jiangdui      = (int)e.Msg[CrCode.jiangdui];
                request.sc.tiandihu      = (int)e.Msg[CrCode.tiandihu];
                request.sc.top           = (int)e.Msg[CrCode.tiandihu];
            }
            else if (provice == Provice.Shaanxi)
            {
                request.provice     = Provice.Shaanxi;
                request.ju          = (int)e.Msg[CrCode.ju];
                request.overtype    = e.Msg.GetField <int>(CrCode.overtype);
                request.sx          = new C2sSprotoType.crsx();
                request.sx.huqidui  = (int)e.Msg[CrCode.sxqidui];
                request.sx.qingyise = (int)e.Msg[CrCode.sxqingyise];
            }

            _ctx.SendReq <C2sProtocol.create>(C2sProtocol.create.Tag, request);
        }
コード例 #8
0
        public void SetupCamera(EventCmd e)
        {
            // 无论_camera == null,新场景启动都要重置
            GameObject go = e.Orgin;

            Debug.Assert(_scene != null);
            _view = _scene.SetupView(go);
        }
コード例 #9
0
ファイル: GameController.cs プロジェクト: wy182000/mahjong
 private void OnLeadCard(EventCmd e)
 {
     if (_type == GameType.GAME)
     {
         C2sSprotoType.step.request request = new C2sSprotoType.step.request();
         request.idx = _service.MyIdx;
         _ctx.SendReq <C2sProtocol.step>(C2sProtocol.step.Tag, request);
     }
 }
コード例 #10
0
ファイル: GUIRootActor.cs プロジェクト: wy182000/mahjong
        private void OnSendRestart(EventCmd e)
        {
            UnityEngine.Debug.LogFormat("send restart.");
            GameService service = _ctx.QueryService <GameService>(GameService.Name);

            C2sSprotoType.restart.request request = new C2sSprotoType.restart.request();
            request.idx = service.MyIdx;
            _ctx.SendReq <C2sProtocol.restart>(C2sProtocol.restart.Tag, request);
        }
コード例 #11
0
ファイル: GameController.cs プロジェクト: wy182000/mahjong
 public void OnThrowDice(EventCmd e)
 {
     if (_type == GameType.GAME)
     {
         C2sSprotoType.step.request request = new C2sSprotoType.step.request();
         request.idx = _service.MyIdx;
         _ctx.SendReq <C2sProtocol.step>(C2sProtocol.step.Tag, request);
     }
 }
コード例 #12
0
        public void OnSendJoin(EventCmd e)
        {
            int         roomid  = (int)e.Msg["roomid"];
            GameService service = _ctx.QueryService <GameService>(GameService.Name);

            C2sSprotoType.join.request request = new C2sSprotoType.join.request();
            request.roomid = roomid;
            _ctx.SendReq <C2sProtocol.join>(C2sProtocol.join.Tag, request);
        }
コード例 #13
0
 private void SetupStartRoot(EventCmd e)
 {
     _go = e.Orgin;
     if (((AppConfig)_ctx.Config).UpdateRes)
     {
         _ctx.EnqueueRenderQueue(RenderUpdateRes);
     }
     else
     {
         _ctx.EnqueueRenderQueue(RenderTestRes);
     }
 }
コード例 #14
0
ファイル: LoginActor.cs プロジェクト: wy182000/mahjong
        public void Login(EventCmd e)
        {
            Message         msg        = e.Msg;
            string          server     = (string)msg["server"];
            string          username   = (string)msg["username"];
            string          password   = (string)msg["password"];
            LoginController controller = _controller as LoginController;

            controller.LoginAuth(server, username, password);
            _commit = true;
            EnableCommitOk();
        }
コード例 #15
0
 public void OnSendMsg(EventCmd e)
 {
     //List<long> mailids = new List<long>();
     //if (_service.SysInBox.Count > 0) {
     //    foreach (var item in _service.SysInBox) {
     //        mailids.Add(item.Id);
     //    }
     //}
     //C2sSprotoType.syncsysmail.request request = new C2sSprotoType.syncsysmail.request();
     //request.all = mailids;
     //_ctx.SendReq<C2sProtocol.syncsysmail>(C2sProtocol.syncsysmail.Tag, request);
 }
コード例 #16
0
ファイル: GameController.cs プロジェクト: wy182000/mahjong
 public void HuCard(EventCmd e)
 {
     _oknum++;
     if (_oknum >= _huscount)
     {
         if (_type == GameType.GAME)
         {
             C2sSprotoType.step.request request = new C2sSprotoType.step.request();
             request.idx = _service.MyIdx;
             _ctx.SendReq <C2sProtocol.step>(C2sProtocol.step.Tag, request);
         }
     }
 }
コード例 #17
0
 public void OnSendMatch(EventCmd e)
 {
     if (((AppConfig)_ctx.Config).VTYPE == AppConfig.VERSION_TYPE.TEST_WIN)
     {
         _ctx.Push(typeof(GameController));
     }
     else
     {
         C2sSprotoType.match.request request = new C2sSprotoType.match.request();
         request.mode = 1;
         _ctx.SendReq <C2sProtocol.match>(C2sProtocol.match.Tag, request);
     }
 }
コード例 #18
0
ファイル: MyPlayer.cs プロジェクト: ChestnutGames/maria
 public void OnPressLeft(EventCmd e)
 {
     //Vector3 dir = new Vector3(-1, 0, 0);
     //_player.ChangeDir(dir);
     //try {
     //    if (_mysession != 0) {
     //        C2sSprotoType.opcode.request obj = new C2sSprotoType.opcode.request();
     //        obj.code = OpCodes.OPCODE_PRESSLEFT;
     //        _ctx.SendReq<C2sProtocol.opcode>(C2sProtocol.opcode.Tag, obj);
     //    }
     //} catch (KeyNotFoundException ex) {
     //    Debug.LogError(ex.Message);
     //}
 }
コード例 #19
0
        public void OnSendViewMail(EventCmd e)
        {
            _ctx.EnqueueRenderQueue(RenderViewMail);
            //var mailwnd = com._MailWnd.GetComponent<MailWnd>();
            //if ((MsgItem.Type)e.Msg["type"] == MsgItem.Type.Sys) {
            //    Sysmail mail = _service.SysInBox.GetMail((long)e.Msg["id"]);
            //    mailwnd.ShowMailInfo()
            //}

            //_service.SysInBox
            //mailwnd.ShowMailInfo()
            //C2sSprotoType.syncsysmail.request request = new C2sSprotoType.syncsysmail.request();
            //request.all = mailids;
            //_ctx.SendReq<C2sProtocol.syncsysmail>(C2sProtocol.syncsysmail.Tag, request);
        }
コード例 #20
0
        public void OnViewedMail(EventCmd e)
        {
            //MsgItem.Type type = e.Msg.GetField<MsgItem.Type>("type");
            //long id = e.Msg.GetField<long>("id");
            //_curmsgid = id;
            //_curtype = type;
            //Sysmail mail = _service.SysInBox.GetMail(id);
            //_service.SysInBox.Remove(mail);

            //C2sSprotoType.viewedsysmail.request request = new C2sSprotoType.viewedsysmail.request();
            //request.mailid = id;
            //_ctx.SendReq<C2sProtocol.viewedsysmail>(C2sProtocol.viewedsysmail.Tag, request);

            //_ctx.EnqueueRenderQueue(RenderSyncSysMail);
        }
コード例 #21
0
ファイル: GameController.cs プロジェクト: wy182000/mahjong
 public void OnSortCardsAfterDeal(EventCmd e)
 {
     _oknum++;
     if (_oknum == 4)
     {
         _oknum = 0;
         if (_type == GameType.GAME)
         {
             UnityEngine.Debug.LogFormat("send step after sort cards.");
             GameService service = _ctx.QueryService <GameService>(GameService.Name);
             C2sSprotoType.step.request request = new C2sSprotoType.step.request();
             request.idx = service.MyIdx;
             _ctx.SendReq <C2sProtocol.step>(C2sProtocol.step.Tag, request);
         }
     }
 }
コード例 #22
0
ファイル: GameController.cs プロジェクト: wy182000/mahjong
 public void OnSendChatMsg(EventCmd e)
 {
     if (_type == GameType.GAME)
     {
         C2sSprotoType.rchat.request request = new C2sSprotoType.rchat.request();
         request.idx = _service.MyIdx;
         if ((int)e.Msg["type"] == 1)
         {
             request.type   = 1;
             request.textid = (long)e.Msg["code"];
         }
         else if ((int)e.Msg["type"] == 2)
         {
         }
         _ctx.SendReq <C2sProtocol.rchat>(C2sProtocol.rchat.Tag, request);
     }
 }
コード例 #23
0
ファイル: BottomPlayer.cs プロジェクト: wy182000/mahjong
        private void OnSendGuo(EventCmd e)
        {
            C2sSprotoType.call.request request = new C2sSprotoType.call.request();
            request.op      = new C2sSprotoType.opinfo();
            request.op.idx  = _idx;
            request.op.card = Call.Card;
            request.op.dian = Call.Dian;

            request.op.guo  = OpCodes.OPCODE_GUO;
            request.op.peng = OpCodes.OPCODE_NONE;
            request.op.gang = OpCodes.OPCODE_NONE;

            request.op.hu      = new C2sSprotoType.huinfo();
            request.op.hu.idx  = _idx;
            request.op.hu.code = OpCodes.OPCODE_NONE;

            _ctx.SendReq <C2sProtocol.call>(C2sProtocol.call.Tag, request);
        }
コード例 #24
0
        public void SetupUI(EventCmd e)
        {
            _uiroot = e.Orgin;

            AppContext ctx    = _ctx as AppContext;
            EntityMgr  mgr    = ctx.GetEntityMgr();
            Entity     entity = mgr.MyEntity;

            entity.GetComponent <Bacon.Model.UComUser>().Fetch();

            _ctx.SendReq <C2sProtocol.fetchsysmail>(C2sProtocol.fetchsysmail.Tag, null);
            _ctx.SendReq <C2sProtocol.records>(C2sProtocol.records.Tag, null);


            ctx.GetBoardMgr().FetchAdver();
            ctx.GetBoardMgr().FetchBoard();

            _ctx.EnqueueRenderQueue(RenderSetupUI);
        }
コード例 #25
0
ファイル: BottomPlayer.cs プロジェクト: wy182000/mahjong
        private void OnSendLead(EventCmd e)
        {
            Card card = null;

            for (int i = 0; i < _cards.Count; i++)
            {
                if (_cards[i].Go == e.Orgin)
                {
                    card = _cards[i];
                }
            }
            if (card == null)
            {
                UnityEngine.Debug.Assert(e.Orgin == _holdcard.Go);
                card = _holdcard;
            }

            _leadcard1 = card;

            C2sSprotoType.lead.request request = new C2sSprotoType.lead.request();
            request.idx  = _idx;
            request.card = card.Value;
            _ctx.SendReq <C2sProtocol.lead>(C2sProtocol.lead.Tag, request);
        }
コード例 #26
0
 public void OnMsgClosed(EventCmd e)
 {
     _ctx.EnqueueRenderQueue(RenderFetchSysmail);
 }
コード例 #27
0
 private void OnShowCreate(EventCmd e)
 {
     _ctx.EnqueueRenderQueue(RenderShowCreate);
 }
コード例 #28
0
 public void OnSendRecords(EventCmd e)
 {
 }
コード例 #29
0
 public void OnLogout(EventCmd e)
 {
     _ctx.SendReq <C2sProtocol.logout>(C2sProtocol.logout.Tag, null);
 }
コード例 #30
0
ファイル: BottomPlayer.cs プロジェクト: wy182000/mahjong
 private void OnSetup(EventCmd e)
 {
     _go = e.Orgin;
     _ctx.EnqueueRenderQueue(RenderSetup);
 }