private void DoRandomPanel()
    {
        GUI.Box(crdVisualBox, string.Empty, "BoxPopLine");
        int num = -1;

        for (int i = 0; i < 2; i++)
        {
            for (int j = 0; j < 3; j++)
            {
                Rect position = new Rect(crdSlotLT.x + (float)i * (crdSlotSize.x + crdSlotOffset.x), crdSlotLT.y + (float)j * (crdSlotSize.y + crdSlotOffset.y), crdSlotSize.x, crdSlotSize.y);
                GUI.BeginGroup(position);
                TextureUtil.DrawTexture(new Rect(0f, 0f, crdSlotSize.x, crdSlotSize.y), tSlot.bg);
                Texture2D texture2D = null;
                switch (step)
                {
                case STEP.READY:
                    texture2D = tSlot.GetTexture2D(mainTab, i, j, 0);
                    if (null != texture2D)
                    {
                        TextureUtil.DrawTexture(new Rect((crdSlotSize.x - (float)texture2D.width) / 2f, (crdSlotSize.y - (float)texture2D.height) / 2f, (float)texture2D.width, (float)texture2D.height), texture2D);
                    }
                    break;

                case STEP.SHOW_BACK:
                    texture2D = tSlot.GetTexture2D(mainTab, i, j, (!qSlot.Contains(j + i * 3)) ? 2 : 0);
                    if (null != texture2D)
                    {
                        TextureUtil.DrawTexture(new Rect((crdSlotSize.x - (float)texture2D.width) / 2f, (crdSlotSize.y - (float)texture2D.height) / 2f, (float)texture2D.width, (float)texture2D.height), texture2D);
                    }
                    if (qSlot.Count > 0 && qSlot.Peek() == j + i * 3)
                    {
                        float num8 = Mathf.Lerp(1.5f, 1f, deltaTime * (1f / focusTime));
                        texture2D = tSlot.GetTexture2D(mainTab, i, j, 3);
                        if (null != texture2D)
                        {
                            float num9  = (float)texture2D.width * num8;
                            float num10 = (float)texture2D.height * num8;
                            TextureUtil.DrawTexture(new Rect((crdSlotSize.x - num9) / 2f, (crdSlotSize.y - num10) / 2f, num9, num10), texture2D);
                        }
                    }
                    break;

                case STEP.WAIT_INPUT:
                {
                    texture2D = tSlot.GetTexture2D(mainTab, i, j, 2);
                    if (null != texture2D)
                    {
                        TextureUtil.DrawTexture(new Rect((crdSlotSize.x - (float)texture2D.width) / 2f, (crdSlotSize.y - (float)texture2D.height) / 2f, (float)texture2D.width, (float)texture2D.height), texture2D);
                    }
                    Rect rc = new Rect(base.ClientRect.x + position.x, base.ClientRect.y + position.y, position.width, position.height);
                    if (MouseUtil.MouseOver(rc))
                    {
                        Color white = Color.white;
                        white = ((!fadeIn) ? Color.Lerp(Color.white, new Color(1f, 1f, 1f, 0f), deltaTime * (1f / flickerTime)) : Color.Lerp(new Color(1f, 1f, 1f, 0f), Color.white, deltaTime * (1f / flickerTime)));
                        Color color = GUI.color;
                        GUI.color = white;
                        texture2D = tSlot.GetTexture2D(mainTab, i, j, 1);
                        if (null != texture2D)
                        {
                            TextureUtil.DrawTexture(new Rect((crdSlotSize.x - (float)texture2D.width) / 2f, (crdSlotSize.y - (float)texture2D.height) / 2f, (float)texture2D.width, (float)texture2D.height), texture2D);
                        }
                        GUI.color = color;
                        num       = j + i * 3;
                        if (mouseOverBtn != num)
                        {
                            fadeIn    = true;
                            deltaTime = flickerTime;
                        }
                        if (Input.GetMouseButtonUp(0))
                        {
                            CSNetManager.Instance.Sock.SendCS_OPEN_RANDOM_BOX_REQ(Convert.ToInt32(gachaponCode));
                            SetStep(STEP.SPIN);
                            if (i == 0 && j == 0)
                            {
                                spinIndex = UnityEngine.Random.Range(1, 6);
                            }
                            else
                            {
                                spinIndex = j + i * 3;
                            }
                        }
                    }
                    break;
                }

                case STEP.SPIN:
                    if (spinIndex != j + i * 3)
                    {
                        texture2D = tSlot.GetTexture2D(mainTab, i, j, 0);
                        if (null != texture2D)
                        {
                            TextureUtil.DrawTexture(new Rect((crdSlotSize.x - (float)texture2D.width) / 2f, (crdSlotSize.y - (float)texture2D.height) / 2f, (float)texture2D.width, (float)texture2D.height), texture2D);
                        }
                    }
                    else
                    {
                        texture2D = tSlot.GetTexture2D(mainTab, i, j, 2);
                        if (null != texture2D)
                        {
                            int   num11 = spinning % 3;
                            float num12 = (float)texture2D.height;
                            switch (num11)
                            {
                            case 1:
                                num12 *= 0.7f;
                                break;

                            case 2:
                                num12 *= 0.3f;
                                break;
                            }
                            TextureUtil.DrawTexture(new Rect((crdSlotSize.x - (float)texture2D.width) / 2f, (crdSlotSize.y - num12) / 2f, (float)texture2D.width, num12), texture2D);
                        }
                    }
                    break;

                case STEP.RESULT:
                    if (spinIndex != j + i * 3)
                    {
                        texture2D = tSlot.GetTexture2D(mainTab, i, j, 0);
                        if (null != texture2D)
                        {
                            TextureUtil.DrawTexture(new Rect((crdSlotSize.x - (float)texture2D.width) / 2f, (crdSlotSize.y - (float)texture2D.height) / 2f, (float)texture2D.width, (float)texture2D.height), texture2D);
                        }
                    }
                    else
                    {
                        texture2D = tSlot.GetTexture2D(mainTab, i, j, 4);
                        if (null != texture2D)
                        {
                            TextureUtil.DrawTexture(new Rect((crdSlotSize.x - (float)texture2D.width) / 2f, (crdSlotSize.y - (float)texture2D.height) / 2f, (float)texture2D.width, (float)texture2D.height), texture2D);
                        }
                        TItem tItem3 = TItemManager.Instance.Get <TItem>(resultCode);
                        if (tItem3 != null)
                        {
                            float num6 = (float)tItem3.CurIcon().width * 0.6f;
                            float num7 = (float)tItem3.CurIcon().height * 0.6f;
                            TextureUtil.DrawTexture(new Rect((crdSlotSize.x - num6) / 2f, (crdSlotSize.y - num7) / 2f, num6, num7), tItem3.CurIcon(), ScaleMode.StretchToFill);
                        }
                        Texture2D texture2D3 = tSlot.fx[resultPhase % 2];
                        if (null != texture2D3)
                        {
                            TextureUtil.DrawTexture(new Rect((crdSlotSize.x - (float)texture2D3.width) / 2f, (crdSlotSize.y - (float)texture2D3.height) / 2f, (float)texture2D3.width, (float)texture2D3.height), texture2D3);
                        }
                    }
                    break;

                case STEP.SHOW_FRONT:
                    if (spinIndex != j + i * 3)
                    {
                        texture2D = tSlot.GetTexture2D(mainTab, i, j, ((i != 0 || j != 0) && !qSlot.Contains(j + i * 3)) ? 4 : 0);
                        if (qSlot.Count > 0 && qSlot.Peek() == j + i * 3)
                        {
                            if (null != texture2D)
                            {
                                int   num13 = spinning % 3;
                                float num14 = (float)texture2D.height;
                                switch (num13)
                                {
                                case 1:
                                    num14 *= 0.7f;
                                    break;

                                case 2:
                                    num14 *= 0.3f;
                                    break;
                                }
                                TextureUtil.DrawTexture(new Rect((crdSlotSize.x - (float)texture2D.width) / 2f, (crdSlotSize.y - num14) / 2f, (float)texture2D.width, num14), texture2D);
                            }
                            TItem tItem4 = (!dicResult.ContainsKey(j + i * 3)) ? null : dicResult[j + i * 3];
                            if (tItem4 != null)
                            {
                                float num15 = Mathf.Lerp(1.5f, 1f, deltaTime * (1f / focusTime));
                                texture2D = tItem4.CurIcon();
                                if (null != texture2D)
                                {
                                    float num16 = (float)texture2D.width * num15 * 0.6f;
                                    float num17 = (float)texture2D.height * num15 * 0.6f;
                                    TextureUtil.DrawTexture(new Rect((crdSlotSize.x - num16) / 2f, (crdSlotSize.y - num17) / 2f, num16, num17), texture2D);
                                }
                            }
                        }
                        else
                        {
                            if (null != texture2D)
                            {
                                TextureUtil.DrawTexture(new Rect((crdSlotSize.x - (float)texture2D.width) / 2f, (crdSlotSize.y - (float)texture2D.height) / 2f, (float)texture2D.width, (float)texture2D.height), texture2D);
                            }
                            TItem tItem5 = (!dicResult.ContainsKey(j + i * 3)) ? null : dicResult[j + i * 3];
                            if (tItem5 != null && !qSlot.Contains(j + i * 3))
                            {
                                float num18 = (float)tItem5.CurIcon().width * 0.6f;
                                float num19 = (float)tItem5.CurIcon().height * 0.6f;
                                TextureUtil.DrawTexture(new Rect((crdSlotSize.x - num18) / 2f, (crdSlotSize.y - num19) / 2f, num18, num19), tItem5.CurIcon(), ScaleMode.StretchToFill);
                            }
                        }
                    }
                    else
                    {
                        texture2D = tSlot.GetTexture2D(mainTab, i, j, 4);
                        if (null != texture2D)
                        {
                            TextureUtil.DrawTexture(new Rect((crdSlotSize.x - (float)texture2D.width) / 2f, (crdSlotSize.y - (float)texture2D.height) / 2f, (float)texture2D.width, (float)texture2D.height), texture2D);
                        }
                        TItem tItem6 = TItemManager.Instance.Get <TItem>(resultCode);
                        if (tItem6 != null)
                        {
                            float num20 = (float)tItem6.CurIcon().width * 0.6f;
                            float num21 = (float)tItem6.CurIcon().height * 0.6f;
                            TextureUtil.DrawTexture(new Rect((crdSlotSize.x - num20) / 2f, (crdSlotSize.y - num21) / 2f, num20, num21), tItem6.CurIcon(), ScaleMode.StretchToFill);
                        }
                        Texture2D texture2D4 = tSlot.fx[resultPhase % 2];
                        if (null != texture2D4)
                        {
                            TextureUtil.DrawTexture(new Rect((crdSlotSize.x - (float)texture2D4.width) / 2f, (crdSlotSize.y - (float)texture2D4.height) / 2f, (float)texture2D4.width, (float)texture2D4.height), texture2D4);
                        }
                    }
                    break;

                case STEP.WAIT_RETRY:
                    if (spinIndex != j + i * 3)
                    {
                        texture2D = tSlot.GetTexture2D(mainTab, i, j, ((i != 0 || j != 0) && !qSlot.Contains(j + i * 3)) ? 4 : 0);
                        if (null != texture2D)
                        {
                            TextureUtil.DrawTexture(new Rect((crdSlotSize.x - (float)texture2D.width) / 2f, (crdSlotSize.y - (float)texture2D.height) / 2f, (float)texture2D.width, (float)texture2D.height), texture2D);
                        }
                        TItem tItem = (!dicResult.ContainsKey(j + i * 3)) ? null : dicResult[j + i * 3];
                        if (tItem != null && !qSlot.Contains(j + i * 3))
                        {
                            float num2 = (float)tItem.CurIcon().width * 0.6f;
                            float num3 = (float)tItem.CurIcon().height * 0.6f;
                            TextureUtil.DrawTexture(new Rect((crdSlotSize.x - num2) / 2f, (crdSlotSize.y - num3) / 2f, num2, num3), tItem.CurIcon(), ScaleMode.StretchToFill);
                        }
                    }
                    else
                    {
                        texture2D = tSlot.GetTexture2D(mainTab, i, j, 4);
                        if (null != texture2D)
                        {
                            TextureUtil.DrawTexture(new Rect((crdSlotSize.x - (float)texture2D.width) / 2f, (crdSlotSize.y - (float)texture2D.height) / 2f, (float)texture2D.width, (float)texture2D.height), texture2D);
                        }
                        TItem tItem2 = TItemManager.Instance.Get <TItem>(resultCode);
                        if (tItem2 != null)
                        {
                            float num4 = (float)tItem2.CurIcon().width * 0.6f;
                            float num5 = (float)tItem2.CurIcon().height * 0.6f;
                            TextureUtil.DrawTexture(new Rect((crdSlotSize.x - num4) / 2f, (crdSlotSize.y - num5) / 2f, num4, num5), tItem2.CurIcon(), ScaleMode.StretchToFill);
                        }
                        Texture2D texture2D2 = tSlot.fx[resultPhase % 2];
                        if (null != texture2D2)
                        {
                            TextureUtil.DrawTexture(new Rect((crdSlotSize.x - (float)texture2D2.width) / 2f, (crdSlotSize.y - (float)texture2D2.height) / 2f, (float)texture2D2.width, (float)texture2D2.height), texture2D2);
                        }
                    }
                    break;
                }
                GUI.EndGroup();
            }
        }
        mouseOverBtn = num;
    }