// Start is called before the first frame update
    public void StartGameMode()
    {
        /*
         * for each image index i will choose 2 random card index from available card:
         * so when player tap on cards the image acociated with it gets repleced with the existing card image
         */
        cardMemory = new int[cards.Length];
        iconStatus = new int [icons.Length]; // value defines number of times it is used
        cardsChild = new GameObject [cards.Length];
        //i have made 2 radomizing method, I dont wanna delete any of those so will use any of those randomly
        //update 2nd randomizing methods seems to randomize it better so only gonna use this now
        //AssignIcons();
        //Debug.Log("Assigning method");
        //Debug.Log("Random method method");
        igc = FindObjectOfType <InGameController>();
        if (PlayerPrefs.GetInt("GameMode", 1) == 1)
        {
            RandomizeIcons();
            ShowAllCards();
            HideCardChild();
            countDownTimeCount = countDownTime;
            igc.UpdateCountDown(countDownTime);
            igc.UpdateInGameUI();
            attempt = 0;
            FindObjectOfType <InGameController>().UpdateAttempt(attempt);

            igc.gameFinished = true;
            startCountDown   = true;
            timer            = 0;
            //FindObjectOfType<SFXManager>().Play("buttonClick");
        }
        else
        {
            RandomizeIcons();
            GamePlayStarts();
            igc.UpdateInGameUI();//works just like start
            igc.gameFinished = false;
        }
        igc.inGameAnim.SetBool("ShowCanvas", true);
    }