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); }
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); }