public void RpcGamePrepare(EventMessages.GamePrepareInfo info) { CurrentRoundStatus = new ClientRoundStatus(info.PlayerIndex, info.GameSetting); var prepareState = new GamePrepareState { CurrentRoundStatus = CurrentRoundStatus, Points = info.Points, Names = info.PlayerNames }; StateMachine.ChangeState(prepareState); }
public void AssignRoundStatus(ClientRoundStatus status) { CurrentRoundStatus = status; status.AddObserver(BoardInfoManager); status.AddObserver(YamaManager); status.AddObserver(TableTilesManager); status.AddObserver(PlayerInfoManager); status.AddObserver(HandPanelManager); status.AddObserver(PointTransferManager); status.AddObserver(ReadyHintManager); // add tiles as observer foreach (var tile in HandPanelManager.HandTiles) { status.AddObserver(tile); } status.AddObserver(HandPanelManager.LastDrawTile); status.LocalSettings.AddObserver(LocalSettingManager); }