Ejemplo n.º 1
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);
            }
        }