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; }