/// <summary> /// 更新游戏信息 /// </summary> /// <param name="_gameInfo">游戏信息结构体</param> public void UpdateGameInfo(HallTransfer.GameInfoS _gameInfo) { if (m_cGameInfo == null) { m_cGameInfo = new CGameItem.CGameInfo(); } m_cGameInfo.ID = _gameInfo.ID; m_cGameInfo.Installed = _gameInfo.Installed; m_cGameInfo.IsHot = _gameInfo.IsHot; m_cGameInfo.IsOpen = _gameInfo.IsOpen; m_cGameInfo.Name = _gameInfo.Name; m_cGameInfo.NeedUpdate = _gameInfo.NeedUpdate; m_cGameInfo.OnlineCnt = _gameInfo.OnlineCnt; m_cGameInfo.SortID = _gameInfo.SortID; m_cGameInfo.TypeID = _gameInfo.TypeID; //UI设置 if (m_sprGameicoSprite != null) { m_sprGameicoSprite.spriteName = "gameico_" + m_cGameInfo.ID.ToString(); } if (m_sprHoticoSprite != null) { m_sprHoticoSprite.gameObject.SetActive(m_cGameInfo.IsHot); } if (m_lblGameLabel != null) { m_lblGameLabel.text = m_cGameInfo.Name.ToString(); } if (m_sprGameName != null) { m_sprGameName.spriteName = "gamename_" + m_cGameInfo.ID.ToString(); } }
private GamePlayersListPageViewModel(IGameChoiceProvider gameProvider, CGameInfo game) { _gameProvider = gameProvider; _game = game; _gameProvider.Callback.PlayerConnected += OnPlayerConnected; _gameProvider.Callback.PlayerDisconnected += OnPlayerDisconnected; Players = new ObservableCollection <CPlayer>(_game.Players); LeaveCommand = new CRelayCommand(LeaveExecute); gameProvider.Service.Ready(_game.Id); }
public Boolean TryConnect(Guid gameId, out CGameInfo gameInfo) { gameInfo = null; CGame game = _games.FirstOrDefault(g => g.Id == gameId); if (game == null) { return(false); } String session = OperationContext.Current.SessionId; CGamePlayer gamePlayer = _players.Single(p => p.PlayerInfo.Session == session); Boolean connectionResult = game.TryConnect(gamePlayer); if (connectionResult) { gameInfo = game.GetInfo(); } return(connectionResult); }
public static GamePlayersListPageViewModel Create(IGameChoiceProvider gameProvider, CGameInfo game) { return(new GamePlayersListPageViewModel(gameProvider, game)); }