Esempio n. 1
0
 public SprotoTypeBase OnJoin(SprotoTypeBase requestObj)
 {
     S2cSprotoType.join.request obj = requestObj as S2cSprotoType.join.request;
     if (obj != null)
     {
         if (obj.uid == _ctx.U.Uid)
         {
             _myplayersystem.Join(obj.index);
             _queue.InitK((int)obj.k);
         }
         _joinsystem.Join((int)obj.index);
     }
     S2cSprotoType.join.response responseObj = new S2cSprotoType.join.response();
     responseObj.errorcode = Errorcode.SUCCESS;
     return(responseObj);
 }
Esempio n. 2
0
        public SprotoTypeBase OnReqJoin(SprotoTypeBase requestObj)
        {
            S2cSprotoType.join.request obj = requestObj as S2cSprotoType.join.request;
            if (obj != null)
            {
                long offset = 0;
                if (obj.p.idx > _myidx)
                {
                    offset = obj.p.idx - _myidx;
                }
                else
                {
                    offset = obj.p.idx + 4 - _myidx;
                }
                switch (offset)
                {
                case 1: {
                    var rplayer = new Game.RightPlayer(_ctx, this);
                    rplayer.Sid        = (uint)obj.p.sid;
                    rplayer.Idx        = (int)obj.p.idx;
                    rplayer.Chip       = (int)obj.p.chip;
                    rplayer.Sex        = (int)obj.p.sex;
                    rplayer.Name       = obj.p.name;
                    rplayer.Controller = _controller;
                    rplayer.Init();
                    _playes[obj.p.idx] = rplayer;
                    if (_loadedcards)
                    {
                        _controller.Scene.SetupRightPlayer();
                    }
                }
                break;

                case 2: {
                    var tplayer = new Bacon.Game.TopPlayer(_ctx, this);
                    tplayer.Sid        = (uint)obj.p.sid;
                    tplayer.Idx        = (int)obj.p.idx;
                    tplayer.Chip       = (int)obj.p.chip;
                    tplayer.Sex        = (int)obj.p.sex;
                    tplayer.Name       = obj.p.name;
                    tplayer.Controller = _controller;
                    tplayer.Init();
                    _playes[obj.p.idx] = tplayer;
                    if (_loadedcards)
                    {
                        _controller.Scene.SetupTopPlayer();
                    }
                }
                break;

                case 3: {
                    var lplayer = new Bacon.Game.LeftPlayer(_ctx, this);
                    lplayer.Sid        = (uint)obj.p.sid;
                    lplayer.Idx        = (int)obj.p.idx;
                    lplayer.Chip       = (int)obj.p.chip;
                    lplayer.Sex        = (int)obj.p.sex;
                    lplayer.Name       = obj.p.name;
                    lplayer.Controller = _controller;
                    lplayer.Init();
                    _playes[obj.p.idx] = lplayer;
                    if (_loadedcards)
                    {
                        _controller.Scene.SetupLeftPlayer();
                    }
                }
                break;

                default:
                    break;
                }
            }
            _joined++;
            _online++;
            SendStep();

            S2cSprotoType.join.response responseObj = new S2cSprotoType.join.response();
            responseObj.errorcode = Errorcode.SUCCESS;
            return(responseObj);
        }