public GameModelTLMN(GamePlayTLMN gameplay) { _model = this; _game = gameplay; for (int i = 0; i < listDiscard.Length; i++) { if (listDiscard[i] == null) { listDiscard[i] = new List <List <ECard> >(); } } }
public void PlaySound(GameModelTLMN model, GamePlayTLMN game, List <ECard> lastDisCard, PlayerControllerTLMN currentController) { if (model.listDiscard == null || model.listDiscard[(int)GameModelTLMN.EDiscard.FaceUp].Count == 0) { return; } if (model.listDiscard[(int)GameModelTLMN.EDiscard.FaceUp].Count == 1) { if (game.cardController.TypeLastDiscard == CardControllerTLMN.EMultiType.Vertical && lastDisCard.Count > 2) { PlaySoundWhenFirstTurn(lastDisCard); } else if (lastDisCard.Count == 1) { if (lastDisCard[0].parentCard.Rank == CardLib.Model.Rank.THREE && lastDisCard[0].parentCard.Suit == CardLib.Model.Suit.SPADE_CLUB_DIAMOND_HEART[0] && currentController.mCardHand.Count != 0 && ((LobbyTLMN)GameManager.Instance.selectedLobby).config.GAME_TYPE_TLMN == LobbyTLMN.GameConfig.GameTypeLTMN.DEM_LA) { AudioManager.Instance.Play(AudioManager.SoundEffect.danh_khong_lai_thoi, AudioManager.EPlayState.force); } } } switch (lastDisCard.Count) { case 1: if (lastDisCard[0].parentCard.Rank == CardLib.Model.Rank.TWO) { if (lastDisCard[0].parentCard.Suit == CardLib.Model.Suit.SPADE_CLUB_DIAMOND_HEART[3]) { AudioManager.Instance.Play(AudioManager.SoundEffect.hang_dau_chat_di, AudioManager.EPlayState.force); } else { AudioManager.Instance.Play(AudioManager.SoundEffect.heo, AudioManager.EPlayState.force); } } else if (lastDisCard[0].parentCard.Rank == CardLib.Model.Rank.ACE && lastDisCard[0].parentCard.Suit == CardLib.Model.Suit.SPADE_CLUB_DIAMOND_HEART[3]) { AudioManager.Instance.Play(AudioManager.SoundEffect.xin_con_heo, AudioManager.EPlayState.force); } break; case 2: if (isContainsACEHeart(lastDisCard)) { AudioManager.Instance.Play(AudioManager.SoundEffect.xin_doi_heo, AudioManager.EPlayState.force); } if (lastDisCard[0].parentCard.Rank == CardLib.Model.Rank.TWO) { if (isContainsTwoHeart(lastDisCard)) { AudioManager.Instance.Play(AudioManager.SoundEffect.tu_quy_dau, AudioManager.EPlayState.force); } else { AudioManager.Instance.Play(AudioManager.SoundEffect.doi_heo, AudioManager.EPlayState.force); } } break; case 4: if (game.cardController.TypeLastDiscard == CardControllerTLMN.EMultiType.Horizontal) { List <ECard> lastCardTrash = model.listDiscard[(int)GameModelTLMN.EDiscard.FaceUp][model.listDiscard[(int)GameModelTLMN.EDiscard.FaceUp].Count - 1]; if (lastCardTrash.Count == 2) { if (isContainsTwoHeart(lastCardTrash)) { AudioManager.Instance.Play(AudioManager.SoundEffect.tu_quy_day, AudioManager.EPlayState.force); } else { AudioManager.Instance.Play(AudioManager.SoundEffect.tu_quy, AudioManager.EPlayState.force); } } else { AudioManager.Instance.Play(AudioManager.SoundEffect.tu_quy, AudioManager.EPlayState.force); } } else if (game.cardController.TypeLastDiscard == CardControllerTLMN.EMultiType.Vertical) { if (lastDisCard[0].parentCard.Rank == CardLib.Model.Rank.SIX && lastDisCard[lastDisCard.Count - 1].parentCard.Rank == CardLib.Model.Rank.NINE) { AudioManager.SoundEffect[] effect = { AudioManager.SoundEffect.sanh_4, AudioManager.SoundEffect.san_bang_tat_ca, AudioManager.SoundEffect.song_bang_tinh_cam }; System.Random r = new System.Random(); AudioManager.Instance.Play(effect[r.Next(effect.Length)], AudioManager.EPlayState.force); } else if (lastDisCard[0].parentCard.Rank == CardLib.Model.Rank.THREE && lastDisCard[lastDisCard.Count - 1].parentCard.Rank == CardLib.Model.Rank.SIX) { } } break; case 6: case 8: List <ECard> lastCardTrashDoiThong = model.listDiscard[(int)GameModelTLMN.EDiscard.FaceUp][model.listDiscard[(int)GameModelTLMN.EDiscard.FaceUp].Count - 1]; if (game.cardController.TypeLastDiscard == CardControllerTLMN.EMultiType.MoreThreePairs && lastDisCard.Count == 6 && !isContainsTwoHeart(lastCardTrashDoiThong)) { } else if (game.cardController.TypeLastDiscard == CardControllerTLMN.EMultiType.MoreThreePairs && lastDisCard.Count == 8 && !isContainsTwoHeart(lastCardTrashDoiThong)) { } else if ((game.cardController.TypeLastDiscard == CardControllerTLMN.EMultiType.MoreThreePairs && lastDisCard.Count == 6 && isContainsTwoHeart(lastCardTrashDoiThong)) || (game.cardController.TypeLastDiscard == CardControllerTLMN.EMultiType.MoreThreePairs && lastDisCard.Count == 8 && isContainsTwoHeart(lastCardTrashDoiThong))) { AudioManager.Instance.Play(AudioManager.SoundEffect.hang_day, AudioManager.EPlayState.force); } break; } }