Ejemplo n.º 1
0
 public void SendStep()
 {
     if ((_online == _max) && _loadedcards)
     {
         C2sSprotoType.step.request request = new C2sSprotoType.step.request();
         request.idx = _myidx;
         _ctx.SendReq <C2sProtocol.step>(C2sProtocol.step.Tag, request);
     }
 }
Ejemplo n.º 2
0
 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);
     }
 }
Ejemplo n.º 3
0
 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);
     }
 }
Ejemplo n.º 4
0
 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);
         }
     }
 }
Ejemplo n.º 5
0
 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);
         }
     }
 }
Ejemplo n.º 6
0
        public SprotoTypeBase OnTakeRestart(SprotoTypeBase requestObj)
        {
            try {
                _fistidx  = 0;
                _fisttake = 0;

                _curidx  = 0;
                _curtake = 0;

                _huscount  = 0;
                _oknum     = 0;
                _take1time = 0;
                _takeround = 0;
                _takepoint = 0;  // 最多是6

                _lastidx  = 0;
                _lastCard = null;

                foreach (var item in _cards)
                {
                    item.Value.Clear();
                }

                _service.Foreach((Player player) => {
                    player.TakeRestart();
                });

                {
                    C2sSprotoType.step.request request = new C2sSprotoType.step.request();
                    request.idx = _service.MyIdx;
                    _ctx.SendReq <C2sProtocol.step>(C2sProtocol.step.Tag, request);
                }

                S2cSprotoType.take_restart.response responseObj = new S2cSprotoType.take_restart.response();
                responseObj.errorcode = Errorcode.SUCCESS;
                return(responseObj);
            } catch (Exception ex) {
                UnityEngine.Debug.LogException(ex);
                S2cSprotoType.take_restart.response responseObj = new S2cSprotoType.take_restart.response();
                responseObj.errorcode = Errorcode.FAIL;
                return(responseObj);
            }
        }
Ejemplo n.º 7
0
        public SprotoTypeBase OnOver(SprotoTypeBase requestObj)
        {
            try {
                _service.Foreach((Player player) => {
                    player.Over();
                });

                C2sSprotoType.step.request request = new C2sSprotoType.step.request();
                request.idx = _service.MyIdx;
                _ctx.SendReq <C2sProtocol.step>(C2sProtocol.step.Tag, request);

                S2cSprotoType.over.response responseObj = new S2cSprotoType.over.response();
                responseObj.errorcode = Errorcode.SUCCESS;
                return(responseObj);
            } catch (Exception ex) {
                UnityEngine.Debug.LogException(ex);
                S2cSprotoType.over.response responseObj = new S2cSprotoType.over.response();
                responseObj.errorcode = Errorcode.FAIL;
                return(responseObj);
            }
        }
Ejemplo n.º 8
0
        private void OnSettleNext(EventCmd e)
        {
            _oknum++;
            if (_oknum >= _service.Max)
            {
                if (_settlesidx >= _settles.Count)
                {
                    C2sSprotoType.step.request request = new C2sSprotoType.step.request();
                    request.idx = _service.MyIdx;
                    _ctx.SendReq <C2sProtocol.step>(C2sProtocol.step.Tag, request);
                    return;
                }

                _service.Foreach((Player player) => {
                    player.ClearSettle();

                    S2cSprotoType.settlementitem si = null;
                    S2cSprotoType.settle settle     = _settles[_settlesidx];
                    long idx = 0;
                    if (player.Idx == 1)
                    {
                        idx = 1;
                        if (settle.p1 != null)
                        {
                            si = settle.p1;
                        }
                    }
                    else if (player.Idx == 2)
                    {
                        idx = 2;
                        if (settle.p2 != null)
                        {
                            si = settle.p2;
                        }
                    }
                    else if (player.Idx == 3)
                    {
                        idx = 3;
                        if (settle.p3 != null)
                        {
                            si = settle.p3;
                        }
                    }
                    else if (player.Idx == 4)
                    {
                        idx = 4;
                        if (settle.p4 != null)
                        {
                            si = settle.p4;
                        }
                    }
                    if (si != null)
                    {
                        SettlementItem item = new SettlementItem();
                        item.Idx            = si.idx;
                        item.Chip           = si.chip; // 有正负
                        item.Left           = si.left; // 以次值为准

                        item.Win  = si.win;
                        item.Lose = si.lose;

                        item.Gang   = si.gang;
                        item.HuCode = si.hucode;
                        item.HuJiao = si.hujiao;
                        item.HuGang = si.hugang;
                        item.HuaZhu = si.huazhu;
                        item.DaJiao = si.dajiao;
                        item.TuiSui = si.tuisui;

                        _service.GetPlayer(idx).AddSettle(item);
                        _service.GetPlayer(idx).Settle();
                    }
                });
                _settlesidx++;
            }
        }