public void SetResults(JSONObject jsonData)
    {
        spinDataResult = jsonData;
        resultsData    = jsonData.GetArray("items");
        winningGold    = jsonData.GetArray("wGold");
        // Calculate extra data (winning type, winning count from list result items)
        JSONObject extraData = SlotCombination.CalculateCombination(resultsData, GetNumLine());

        winningCount = extraData.GetArray("wCount");
        winningType  = extraData.GetArray("wType");
        //
        isJackpot    = jsonData.GetBoolean("isJP");
        freeSpinLeft = jsonData.GetInt("frLeft");
        isBigWin     = jsonData.GetBoolean("bWin");
        gotFreeSpin  = jsonData.GetInt("frCount") > 0;
        // bool[] winingItems = new bool[15];
        // for (int i = 0; i < winningGold.Length; i++) {
        //  if (winningGold[i].Number > 0) {
        //      for (int j = 0; j < SlotCombination.NUM_REELS; j++) {
        //          winingItems[SlotCombination.COMBINATION[i, j]] = true;
        //      }
        //  }
        // }
        for (int i = 0; i < slotReels.Length; i++)
        {
            slotReels[i].SetResults(new int[3] {
                (int)resultsData[i * 3].Number, (int)resultsData[i * 3 + 1].Number, (int)resultsData[i * 3 + 2].Number
            });
        }
    }
    public SpinData(string username, JSONObject jsonData, bool isYou)
    {
        Debug.Log("SpinData: " + jsonData.ToString());
        this.isYou    = isYou;
        this.username = username;
        JSONArray  resultsData  = jsonData.GetArray("items");
        JSONObject extraData    = SlotCombination.CalculateCombination(resultsData, jsonData.GetInt("nL"));
        JSONArray  winningCount = extraData.GetArray("wCount");
        JSONArray  winningType  = extraData.GetArray("wType");
        JSONArray  winningGold  = jsonData.GetArray("wGold");

        for (int i = 0; i < winningGold.Length; i++)
        {
            totalDamage += (int)winningGold[i].Number;
        }

        if (jsonData.ContainsKey("newBoss"))
        {
            newBossData = jsonData.GetObject("newBoss");
            JSONArray bossDrops = jsonData.GetArray("dropItems");
            dropCash  = (int)bossDrops[0].Number;
            dropGem   = (int)bossDrops[1].Number;
            bossDrops = null;
            AccountManager.Instance.bossKilled++;
        }


        for (int i = 0; i < winningCount.Length; i++)
        {
            if (winningCount[i].Number >= 3 || ((int)winningType[i].Number == (int)SlotItem.Type.TILE_1 && winningCount[i].Number >= 2))
            {
                spawnSkills.Add(new SpawnableSkill((int)winningType[i].Number, (int)winningCount[i].Number, (int)winningGold[i].Number, isYou));
            }
        }
        extraData    = null;
        resultsData  = null;
        winningCount = null;
        winningType  = null;
        winningGold  = null;
    }