Exemple #1
0
    void RefreshAllData(LocalNotification e)
    {
        ArgsRefreshData args = e.param as ArgsRefreshData;

        if (args != null)
        {
            InitGameInfo();

            if (args.action == null || args.action.action_id == 0)
            {
                return;
            }
            var curPlayerPosType = RoomInfo.Instance.GetPlayerPosById(args.action.action_id);
            firstPlayerId = args.action.action_id;
            var  selfId        = PlayerInfo.Instance.mPlayerPid;
            bool isJiefeng     = args.action.action_type == MsgActionType.MsgActionTypeJiefeng;
            bool isMustPutCard = args.action.last_operation_pid == selfId || isJiefeng || args.action.last_operation_pid == 0;
            if (PlayingGameInfo.Instance.mTributeInfo != null && PlayingGameInfo.Instance.mTributeInfo.start_tag != 1)
            {
                RefreshTributeData(false);
                ShowStatusBtn(false, false);
            }
            else
            {
                ShowStatusBtn(args.action.action_id == PlayerInfo.Instance.mPlayerPid, isMustPutCard);
            }
            SetArrowPlayer(curPlayerPosType);
        }
    }
Exemple #2
0
    void RefreshAllData(LocalNotification e)
    {
        SelfCardsManager.Instance.ClearAllSelectCards();
        ArgsRefreshData args = e.param as ArgsRefreshData;

        if (args != null)
        {
            var roomInfo = RoomInfo.Instance;

            InitLicense();
            InitSelfData();
            //检查亮牌
            //   ReConnectShowLightCard();
            //刷新其他玩家剩余牌数
            IEnumerator <MsgPlayerInfo> iPlayersCardLastNum = args.playerInfoList.GetEnumerator();
            while (iPlayersCardLastNum.MoveNext())
            {
                var posType       = roomInfo.GetPlayerPosById(iPlayersCardLastNum.Current.player_id);
                var lastCardCount = (int)iPlayersCardLastNum.Current.remaindCarsNum;
                //  playerRestCardNum[posType] = lastCardCount;
                // SetRestCardNum(lastCardCount, posType);
            }
            //刷新最后三轮牌的数据
            IEnumerator <MsgLast3Card> iPlayersLast3Card = args.last3CardList.GetEnumerator();
            while (iPlayersLast3Card.MoveNext())
            {
                var posType = roomInfo.GetPlayerPosById(iPlayersLast3Card.Current.player_id);
                if (posType != EPlayerPositionType.ENull)
                {
                    //   if (!IsGameOverPlayer(args.gameOverInfoList, iPlayersLast3Card.Current.player_id)) ;
                    {
                        // RefreshPlayerCards(posType, iPlayersLast3Card.Current.card, false);
                    }
                }
            }
            //刷新所有玩家头游状态
            if (args.gameOverInfoList != null && args.gameOverInfoList.Count > 0)
            {
                for (int i = 0; i < args.gameOverInfoList.Count; i++)
                {
                    var gameOverItem = args.gameOverInfoList[i];
                    PlayingGameInfo.Instance.AddLastCleanPlayerDic(roomInfo.GetPlayerPosById(gameOverItem.player_id));

                    ArgsGameCleanInfo cleanArgs = new ArgsGameCleanInfo();
                    cleanArgs.playerId = gameOverItem.player_id;
                    cleanArgs.rank     = gameOverItem.rank;
                    NotificationCenter.Instance().PostDispatchEvent((uint)ENotificationMsgType.EGameClean, cleanArgs);
                }
            }

            CheckShowTeamerCards(args.djCards); //展示对家的牌
        }
    }