Пример #1
0
        public static void PlayCard(Actor_GamerPlayCard message)
        {
            try
            {
                Log.Info($"收到出牌");
                MahjongInfo mahjongInfo = new MahjongInfo()
                {
                    weight = (byte)message.weight, m_weight = (Consts.MahjongWeight)message.weight
                };

                UI              uiRoom          = Game.Scene.GetComponent <UIComponent>().Get(UIType.UIRoom);
                GamerComponent  gamerComponent  = uiRoom.GetComponent <GamerComponent>();
                UIRoomComponent uiRoomComponent = uiRoom.GetComponent <UIRoomComponent>();

                Gamer gamer = gamerComponent.Get(message.Uid);
                HandCardsComponent handCardsComponent = gamer.GetComponent <HandCardsComponent>();
                HandCardsComponent cardsComponent     = gamerComponent.LocalGamer.GetComponent <HandCardsComponent>();

                if (PlayerInfoComponent.Instance.uid == message.Uid)
                {
                    handCardsComponent.PlayCard(mahjongInfo, message.index, uiRoomComponent.currentItem);
                    SoundsHelp.Instance.PlayCardSound(PlayerInfoComponent.Instance.GetPlayerInfo().PlayerSound, message.weight);
                }
                else
                {
                    handCardsComponent.PlayOtherCard(mahjongInfo, uiRoomComponent.currentItem);
                    SoundsHelp.Instance.PlayCardSound(gamer.PlayerInfo.PlayerSound, message.weight);
                }

                gamerComponent.LastPlayUid = message.Uid;
                SoundsHelp.Instance.playSound_ChuPai();

                uiRoomComponent.CurrentMahjong = mahjongInfo;
            }
            catch (Exception e)
            {
                Log.Error(e);
            }
        }