public void UpdateUserData(SRSSamPlayer playerData)
    {
        _playerData = playerData;

        gMaster.SetActive(playerData.AccountID.Equals(_layer._sam.session.OwnerId));
        txtMoney.SetNumber(moneyType == MoneyType.GOLD ? _playerData.Account.Gold : _playerData.Account.Coin);
    }
Example #2
0
    public void HandlePlayerJoin(object[] data)
    {
        string       json      = BestHTTP.JSON.Json.Encode(data[0]);
        SRSSamPlayer samPlayer = JsonConvert.DeserializeObject <SRSSamPlayer>(json);

        if (_sam.session.Players.ContainsKey(samPlayer.AccountID))
        {
            _sam.session.Players[samPlayer.AccountID] = samPlayer;
        }
        else
        {
            _sam.session.Players.Add(samPlayer.AccountID, samPlayer);
        }

        uiPlayers[indexPlayerPositions[samPlayer.Position]].Init(samPlayer, _config.GetRandomAvatar(), this);
    }
    public void ClearUI()
    {
        StopAllCoroutines();

        _playerData = null;

        gContent.SetActive(false);
        gCountDown.SetActive(false);
        gMaster.SetActive(false);
        gStatus.SetActive(false);
        gBaoSam.SetActive(false);
        gBao1La.SetActive(false);
        HideCard();

        ieAutoHideStatus = null;
        ieShowCountDown  = null;
    }
    public void Init(SRSSamPlayer playerData, Sprite sprAvatar, LGameSam lGameSam)
    {
        _playerData = playerData;
        _layer      = lGameSam;
        moneyType   = _layer._sam.moneyType;

        gContent.SetActive(true);
        txtUsername.text = _playerData.Account.UserName;
        txtMoney.SetNumber(moneyType == MoneyType.GOLD ? _playerData.Account.Gold : _playerData.Account.Coin);

        gMaster.SetActive(playerData.AccountID.Equals(_layer._sam.session.OwnerId));

        // LoadAvatar
        imgAvatar.sprite = sprAvatar;

        // load playing
        if (_playerData.Status == SamPlayerStatus.PLAYING)
        {
            ShowCard();
            UpdateCardNumber(_playerData.HandCards.Count);
        }
    }
Example #5
0
    private void LoadUserFirst(bool isSolo)
    {
        // my data
        SRSSamPlayer myData = _sam.session.Players[_account.AccountID.ToString()];

        uiUser.Init(myData, _config.GetAvatar(_account.AvatarID), this);

        Database.Instance.UpdateUserMoney(MoneyType.GOLD, uiUser._playerData.Account.Gold);
        Database.Instance.UpdateUserMoney(MoneyType.COIN, uiUser._playerData.Account.Coin);

        // my card playing
        if (myData.Status == SamPlayerStatus.PLAYING) // dang choi
        {
            var state = _sam.GetGameStateUser(uiUser._playerData.AccountID);

            LoadActionPlayer(state != null ? state.AllowedActions : null);

            for (int i = 0; i < myData.HandCards.Count; i++)
            {
                // user
                var uiCard = _cardController.BorrowCard();
                uiCard.LoadData(myData.HandCards[i], null, true);
                uiCard.LoadCard();

                uiCard.SetCardPosition(tranUserCards[i].position, tranUserCards[i], 1f);
                userCards.Add(uiCard);

                // my bao1la
                if (userCards.Count == 1)
                {
                    uiUser.ShowBao1La();
                }
                else
                {
                    uiUser.HideBao1La();
                }
            }
        }

        // show leave
        btLeave.SetupAll(!myData.RegisterLeaveRoom);

        // player index
        if (isSolo)
        {
            for (int i = 0; i < indexPlayerPositions.Length; i++)
            {
                indexPlayerPositions[i] = 1;
            }
        }
        else
        {
            indexPlayerPositions[myData.Position] = -1;

            int index = 0;
            for (int i = myData.Position + 1; i < indexPlayerPositions.Length; i++)
            {
                indexPlayerPositions[i] = index;
                index++;
            }
            for (int i = 0; i < myData.Position; i++)
            {
                indexPlayerPositions[i] = index;
                index++;
            }
        }


        // player
        foreach (var playerData in _sam.session.Players)
        {
            if (!myData.Equals(playerData.Value))
            {
                uiPlayers[indexPlayerPositions[playerData.Value.Position]].Init(playerData.Value, _config.GetRandomAvatar(), this);
            }
        }

        // load card in table
        if (!_sam.session.GameLoop.TimerPaused && _sam.session.GameLoop.CurrTurnCards != null && _sam.session.GameLoop.CurrTurnCards.Count > 0)
        {
            for (int i = 0; i < _sam.session.GameLoop.CurrTurnCards.Count; i++)
            {
                List <SamCard> cardAttack = new List <SamCard>();

                var itemValue = _sam.session.GameLoop.CurrTurnCards[i].Value;
                for (int j = 0; j < itemValue.Cards.Count; j++)
                {
                    var uCard = _cardController.BorrowCard();
                    uCard.LoadData(new SRSSamCard
                    {
                        OrdinalValue = itemValue.Cards[j]
                    }, null, false);
                    uCard.LoadCard();

                    cardAttack.Add(uCard);
                }
                AddCardToTable(cardAttack, false);
            }
        }
    }