public void OnDiscardTile(Tile tile, bool isLastDraw, int bonusTimeLeft) { Debug.Log($"Sending request of discarding tile {tile}"); var info = new EventMessages.DiscardTileInfo { PlayerIndex = CurrentRoundStatus.LocalPlayerIndex, IsRichiing = CurrentRoundStatus.IsRichiing, DiscardingLastDraw = isLastDraw, Tile = tile, BonusTurnTime = bonusTimeLeft }; PhotonNetwork.RaiseEvent( EventMessages.DiscardTileEvent, info, EventMessages.ToMaster, EventMessages.SendReliable); var localDiscardState = new LocalDiscardState { CurrentRoundStatus = CurrentRoundStatus, CurrentPlayerIndex = CurrentRoundStatus.LocalPlayerIndex, IsRichiing = CurrentRoundStatus.IsRichiing, DiscardingLastDraw = isLastDraw, Tile = tile }; StateMachine.ChangeState(localDiscardState); }
private void OnDiscardTileEvent(EventMessages.DiscardTileInfo info) { if (info.PlayerIndex != CurrentRoundStatus.CurrentPlayerIndex) { Debug.Log($"[Server] It is not player {info.PlayerIndex}'s turn to discard a tile, ignoring this message"); return; } // Change to discardTileState ServerBehaviour.Instance.DiscardTile( info.PlayerIndex, info.Tile, info.IsRichiing, info.DiscardingLastDraw, info.BonusTurnTime, TurnDoraAfterDiscard); }
public void OnDiscardTile(Tile tile, bool isLastDraw, int bonusTimeLeft) { Debug.Log($"Sending request of discarding tile {tile}"); var info = new EventMessages.DiscardTileInfo { PlayerIndex = CurrentRoundStatus.LocalPlayerIndex, IsRichiing = CurrentRoundStatus.IsRichiing, DiscardingLastDraw = isLastDraw, Tile = tile, BonusTurnTime = bonusTimeLeft }; PhotonNetwork.RaiseEvent( EventMessages.DiscardTileEvent, info, EventMessages.ToMaster, EventMessages.SendReliable); controller.InTurnPanelManager.Close(); CurrentRoundStatus.SetRichiing(false); controller.HandPanelManager.RemoveCandidates(); }