public void SetModeDraw(GameData.eModeDraw mode) { GameData.MODEDRAW = mode; Table.GetInstance().ResetTable(); }
public void InitCards(int[] cards, GameData.eModeDraw mode) { if (mode == GameData.eModeDraw.OneCard) // random bich { for (int i = 0; i < 13; i++) { cards[i] = i * 4; cards[i + 13] = i * 4; cards[i + 26] = i * 4; cards[i + 39] = i * 4; cards[i + 52] = i * 4; cards[i + 65] = i * 4; cards[i + 78] = i * 4; cards[i + 91] = i * 4; } //string s = ""; //for(int i = 0; i < cards.Length; i++) //{ // s += cards[i] + " "; //} //Debug.LogError(s); } else if (mode == GameData.eModeDraw.TwoCard) // random bich va co { for (int i = 0; i < 13; i++) { cards[i] = i * 4; cards[i + 13] = i * 4; cards[i + 26] = i * 4; cards[i + 39] = i * 4; cards[i + 52] = i * 4 + 2; cards[i + 65] = i * 4 + 2; cards[i + 78] = i * 4 + 2; cards[i + 91] = i * 4 + 2; } //string s = ""; //for (int i = 0; i < cards.Length; i++) //{ // s += cards[i] + " "; //} //Debug.LogError(s); } else if (mode == GameData.eModeDraw.FourCard) // random bich, chuon, ro, co { for (int i = 0; i < 13; i++) { cards[i] = i; cards[i + 13] = i * 4 + 1; cards[i + 26] = i * 4 + 2; cards[i + 39] = i * 4 + 3; cards[i + 52] = i; cards[i + 65] = i * 4 + 1; cards[i + 78] = i * 4 + 2; cards[i + 91] = i * 4 + 3; } //string s = ""; //for (int i = 0; i < cards.Length; i++) //{ // s += cards[i] + " "; //} //Debug.LogError(s); } }
public CardsController(int[] cards, GameData.eModeDraw mode) { //Debug.LogError(mode); InitCards(cards, mode); ShufferCards(cards); }
public CardsController(int[] cards, GameData.eModeDraw mode, int numbercomplete) { InitCards(cards, mode); ShufferCards(cards, numbercomplete); }
public void Draw(GameData.eModeDraw mode, Card[] Cards) { int count = ListCardResult.Count; m_Box.enabled = false; LeanTween.delayedCall(0.4f, () => { m_Box.enabled = true; }); if (count == 0) { Compute.m_Instance.AddUndo(-1, GameData.TOTAL_COLLUM, GameData.TOTAL_COLLUM, -1); //DebugListCardDrawEd(); Reset(); return; } if (mode == GameData.eModeDraw.OneCard) { //Debug.Log("xxx"); int _last = count - 1; if (_last >= 0) { m_Box.enabled = false; SceneManager.instance.PlayGameController.MoveCount += 1; Vector3 temp = DrawPosition; Card _card = Cards[ListCardResult[_last]]; int value = ListCardResult[_last]; temp.z = -(GameData.NUMBER_CARDDRAW - _last); if (!_card.isFlip) { _card.isFlip = false; } LeanTween.move(_card.gameObject, temp, 0.2f). setEaseInCubic().setOnComplete(() => { AnimationCard(Cards, value, true); }); AudioController.instance.PlaySoundSortCard(); ListCardDrawed.Add(value); ListCardResult.RemoveAt(_last); //Debug.Log(Cards[ListCardDrawed[_count]].transform.position); Compute.m_Instance.AddUndo(_card.Index, GameData.TOTAL_COLLUM, GameData.TOTAL_COLLUM, value); int _count = ListCardDrawed.Count - 1; //Debug.Log(ListCardDrawed[_count]); //Cards[ListCardDrawed[_count]].Index = DrawCount -1; SortCardDraw(Cards); SetUpCardDraw(Cards); if (count == 1) { EndDraw(); } } } else { //Debug.Log("cccc"); int _last = count - 1; if (_last >= 2) { m_Box.enabled = false; Vector3 temp = DrawPosition; List <int> draw = new List <int>(); for (int i = 0; i < 3; i++) { int LastResult = ListCardResult.Count - 1; Card _card = Cards[ListCardResult[LastResult]]; int value = ListCardResult[LastResult]; temp.z = -(GameData.NUMBER_CARDDRAW - LastResult); if (_card.isFlip) { _card.isFlip = false; } _card.isFlip = !_card.isFlip; if (i == 2) { LeanTween.move(_card.gameObject, temp, 0.1f).setEaseInCubic(); } else { LeanTween.move(_card.gameObject, temp, 0.1f).setEaseInCubic(); } AudioController.instance.PlaySoundSortCard(); ListCardDrawed.Add(value); draw.Add(value); ListCardResult.RemoveAt(LastResult); int _count = ListCardDrawed.Count - 1; //Cards[ListCardDrawed[_count]].Index = DrawCount -1; SortCardDraw(Cards); SetUpCardDraw(Cards); if (LastResult == 0) { EndDraw(); } } int _temp = ListCardResult.Count + 2; //Compute.m_Instance.AddUndo(_temp, GameData.TOTAL_COLLUM, GameData.TOTAL_COLLUM, draw); SceneManager.instance.PlayGameController.MoveCount += 1; } else if (_last >= 0) { m_Box.enabled = false; Vector3 temp = DrawPosition; SceneManager.instance.PlayGameController.MoveCount += 1; Card _card = Cards[ListCardResult[_last]]; int value = ListCardResult[_last]; if (_card.isFlip) { _card.isFlip = false; } temp.z = temp.z = -(GameData.NUMBER_CARDDRAW - _last); LeanTween.move(_card.gameObject, temp, 0.2f) .setEaseInCubic().setOnComplete(() => { AnimationCard(Cards, value, true); } ); ListCardDrawed.Add(value); ListCardResult.RemoveAt(_last); Compute.m_Instance.AddUndo(_card.Index, GameData.TOTAL_COLLUM, GameData.TOTAL_COLLUM, value); int _count = ListCardDrawed.Count - 1; //Cards[ListCardDrawed[_count]].Index = DrawCount - 1; SortCardDraw(Cards); SetUpCardDraw(Cards); if (_last == 0) { EndDraw(); } } } #if UNITY_EDITOR DebugListCard(); #endif }