protected override Player MakePlayer(GamePeer peer, PlayerInfo info) { //Get Info from webserver BaccaratPlayer newPlayer = new BaccaratPlayer(peer, info); return newPlayer; }
protected override Player MakePlayer(GamePeer peer, PlayerInfo info) { //Get Info from webserver BaccaratPlayer newPlayer = new BaccaratPlayer(peer, info); return(newPlayer); }
protected override void OnJoin(GamePeer peer) { BaccaratPlayer player = playerManager.GetPlayer(peer) as BaccaratPlayer; SitInEmptySeat(player); NewPlayerJoinEvent newJoin = new NewPlayerJoinEvent(); newJoin.Actor = player.key.ID; newJoin.Money = player.money; newJoin.Name = player.name; newJoin.Seat = player.seat; EventData eventData = new EventData(EventCode.PlayerJoin, newJoin); BroadcastMessage(peer, eventData, new SendParameters()); ConfirmJoinResponse joinRes = new ConfirmJoinResponse(); joinRes.Actor = player.key.ID; joinRes.Seat = player.seat; joinRes.Money = player.money; ExistingPlayerInfos infos; infos.infos = new List <ExistingPlayerInfo>(); playerManager.ForEach((roomPlayer) => { var bRoomPlayer = roomPlayer as BaccaratPlayer; if (bRoomPlayer.key.ID == player.key.ID) { return; } ExistingPlayerInfo pInfo; pInfo.ID = bRoomPlayer.key.ID; pInfo.Name = bRoomPlayer.name; pInfo.Seat = bRoomPlayer.seat; pInfo.Money = bRoomPlayer.money; pInfo.Bet = GetBet(bRoomPlayer); infos.infos.Add(pInfo); }); joinRes.OtherPlayerInfos = PacketHelper.Serialize <ExistingPlayerInfos>(infos); var response = new OperationResponse(CommonOperationCode.ConfirmJoin, joinRes); peer.SendOperationResponse(response, new SendParameters()); if (playerManager.Count == 1) { ClearGame(); StartGame(); } }
public override void RemovePlayer(GamePeer peer, ExitRequest exitReq, SendParameters sendParameters) { BaccaratPlayer player = playerManager.GetPlayer(peer) as BaccaratPlayer; playersBetDic.Remove(player); seatsDic.Remove(player.seat); base.RemovePlayer(peer, exitReq, sendParameters); CheckAllBet(); }
public void Bet(GamePeer peer, SendBetRequest sendBet) { BaccaratPlayer player = playerManager.GetPlayer(peer) as BaccaratPlayer; var bet = new BaccaratBet(sendBet.BankerBet, sendBet.PlayerBet, sendBet.TieBet); if (HasBet(player) == false && CanBet(player, bet)) { playersBetDic.Add(player, bet); } CheckAllBet(); }
private void SitInEmptySeat(BaccaratPlayer player) { foreach (int seatNum in seatPriority) { if (seatsDic.ContainsKey(seatNum) == false) { player.seat = seatNum; seatsDic.Add(seatNum, player); return; } } }
private void SendResultToPlayers() { playerManager.ForEach((player) => { BaccaratPlayer bPlayer = player as BaccaratPlayer; if (playersBetDic.ContainsKey(bPlayer)) { var bet = playersBetDic[bPlayer]; GameResultResponse response = game.GetBetResult(bet); bPlayer.peer.SendOperationResponse(new OperationResponse(CommonOperationCode.BaccaratGameResult, response), new SendParameters()); bPlayer.money += response.MoneyDelta; //WebHelper.UpdatePlayerMoney(player.name, response.MoneyDelta); } else { var bet = new BaccaratBet(0, 0, 0); GameResultResponse response = game.GetBetResult(bet); bPlayer.peer.SendOperationResponse(new OperationResponse(CommonOperationCode.BaccaratGameResult, response), new SendParameters()); } }); }
private bool CanBet(BaccaratPlayer player, BaccaratBet bet) { return(player.money >= (bet.BankerBet + bet.PlayerBet + bet.TieBet)); }
private void SitInEmptySeat(BaccaratPlayer player) { foreach(int seatNum in seatPriority) { if (seatsDic.ContainsKey(seatNum) == false) { player.seat = seatNum; seatsDic.Add(seatNum, player); return; } } }
private bool CanBet(BaccaratPlayer player, BaccaratBet bet) { return player.money >= (bet.BankerBet + bet.PlayerBet + bet.TieBet); }