/// <summary>
        /// 是不是大炸弹。
        /// </summary>
        /// <param name="bomb"></param>
        /// <returns></returns>
        public static bool IsBigXXXX(PokerPattern bomb)
        {
            if (bomb == null)
            {
                return(false);
            }

            if (bomb.Type != XXXX)
            {
                return(false);
            }

            return(bomb.PokerCount > 5);
        }
Beispiel #2
0
        public void ChuPai(PokerPattern pattern)
        {
            if (pattern == null)
            {
                return;
            }

            var playingData = _playingData.Read();

            if (playingData == null)
            {
                return;
            }

            var msg = CmdUtil.GU.ChuPai(playingData.chupai_key, pattern);

            _msgRepo.SendMsg(msg);
        }
Beispiel #3
0
        public static com.morln.game.gd.command.PokerPattern ConvertToSessionPattern(PokerPattern pattern)
        {
            if (pattern == null)
            {
                return(null);
            }

            var res = new com.morln.game.gd.command.PokerPattern();

            res.type = pattern.Type;

            var pokers = pattern.Pokers;

            if (pokers != null && pokers.Count > 0)
            {
                res.pokers = new byte[pokers.Count];
                for (int i = 0; i < pokers.Count; i++)
                {
                    res.pokers[i] = (byte)pokers[i].Number;
                }
            }

            return(res);
        }
Beispiel #4
0
        /// <summary>
        /// 播放出牌的音效。
        /// </summary>
        /// <param name="pattern"></param>
        /// <param name="sex"></param>
        public void PlayChuPaiSound(PokerPattern pattern, int sex)
        {
            if (pattern == null)
            {
                return;
            }

            AudioClip sound       = null;
            AudioClip effectSound = null;

            switch (pattern.Type)
            {
            case PatternType.XXXX:
            case PatternType.AAABBB:
            case PatternType.XXDD:
            case PatternType.SuperABCDE:
            case PatternType.BUCHU:
            case PatternType.AA:
            case PatternType.AAAXX:
            case PatternType.AABBCC:
            case PatternType.AAA:
            case PatternType.ABCDE:
                if (sex == 0)
                {
                    _femalePatternSounds.TryGetValue(pattern.Type, out sound);
                }
                else
                {
                    _malePatternSounds.TryGetValue(pattern.Type, out sound);
                }
                break;

            case PatternType.A:
                if (sex == 0)
                {
                    _femaleASounds.TryGetValue(pattern.MajorNumType, out sound);
                }
                else
                {
                    _maleASounds.TryGetValue(pattern.MajorNumType, out sound);
                }
                break;
            }

            switch (pattern.Type)
            {
            case PatternType.XXXX:
                if (PatternType.IsBigXXXX(pattern))
                {
                    effectSound = BombBig;
                }
                else
                {
                    effectSound = BombSmall;
                }
                break;

            case PatternType.AAABBB:
            case PatternType.XXDD:
            case PatternType.SuperABCDE:
                _specPatternSounds.TryGetValue(pattern.Type, out effectSound);
                break;
            }

            if (sound && EffectPlayer)
            {
                EffectPlayer.PlayOneShot(sound);
            }

            if (effectSound && EffectPlayer)
            {
                EffectPlayer.PlayOneShot(effectSound);
            }
        }