Exemple #1
0
    /// <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();
        }
    }
Exemple #2
0
 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);
 }
Exemple #3
0
        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);
        }
Exemple #4
0
 public static GamePlayersListPageViewModel Create(IGameChoiceProvider gameProvider, CGameInfo game)
 {
     return(new GamePlayersListPageViewModel(gameProvider, game));
 }