//投票 解散房间 public void SendRequestHandsUp(object data) { int type = (int)data; JhUserInfo userInfo = GameData.GetPlayerInfo <JhUserInfo>(); if (GameData.GStatus > YxEGameStatus.Normal) { ISFSObject iobj = new SFSObject(); iobj.PutUtfString("cmd", "dismiss"); iobj.PutInt(RequestKey.KeyType, type); iobj.PutInt(RequestKey.KeyId, int.Parse(userInfo.UserId)); SendFrameRequest("hup", iobj); } else { //局外只有房主才能解散,其他玩家只能退出 if (int.Parse(userInfo.UserId) == GameData.OwnerId) { SendFrameRequest("dissolve", new SFSObject()); } else { EventObj.SendEvent("GameManagerEvent", "Quit", null); } } }
public override void OnGetGameInfo(ISFSObject gameInfo) { GameData.SetGameStatus(); JhUserInfo player = GameData.GetPlayerInfo <JhUserInfo>(); if (GameData.IsCreatRoom) { GameData.HupUp.OnGameInfo(gameInfo); GameData.GStatus = gameInfo.GetBool("playing") ? YxEGameStatus.Play : YxEGameStatus.Normal; } else { if (GameData.RStatus == RoomStatus.Over && player.IsPlaying()) { GameData.GStatus = YxEGameStatus.Over; } else if (GameData.RStatus > RoomStatus.CanStart && player.IsPlaying()) { GameData.GStatus = YxEGameStatus.PlayAndConfine; } else { GameData.GStatus = YxEGameStatus.Ready; } } }
//跟注 protected void SendRequestFollow(object data) { JhUserInfo userInfo = GameData.GetPlayerInfo <JhUserInfo>(); int gold = (int?)data ?? GameData.SingleBet; if (gold < GameData.SingleBet) { gold = GameData.SingleBet; } if (userInfo.IsLook) { gold *= 2; } if (!GameData.IsCreatRoom && gold > userInfo.CoinA) { return; } ISFSObject isfsSata = new SFSObject(); isfsSata.PutInt(RequestKey.KeyGold, gold); isfsSata.PutInt(RequestKey.KeyType, JhTypeKey.TypeGenZhu); SendGameRequest(isfsSata); }