private void OnJoinConfirm(MessageBox.ReturnType Return) { if (Return == MessageBox.ReturnType.MB_YES) { Logger.trace("mFactionSelected:" + mFactionSelected); GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Hangar_Buy_Press); GameData.MyFactionId = mFactionSelected + 1; GameData.MySuitID = mSuitSelected; GameData.AddOwnedSuit(mSuitSelected); Logger.trace("suit " + GameData.MySuitID); Logger.trace("faction " + GameData.MyFactionId); string factionDisplayName = GameData.getFactionDisplayName(GameData.MyFactionId); MessageBox.AddMessageCustom("Congratulations!", "You have been accepted to join " + factionDisplayName + "!", null, true, OnJoinComplete, "Sweet!"); } }
public void showTab(Rect tabGroup) { string b = (Event.current.type != EventType.Repaint) ? lastHover : string.Empty; mIconSize = (tabGroup.height - mSelectTop - mSelectBottom - (float)(mNumPerColumn + 1) * mGapSize) / (float)mNumPerColumn; if (mSuitInspector.ModelTransforms[0] == null) { SuitInspector.TempSuitInfo tempSuitInfo = mSuits[mSelectedIndex]; if (GameData.getExosuit(tempSuitInfo.mIndex).getHighPolyModel() != null) { mSuitInspector.ModelTransforms[0] = GameData.getExosuit(tempSuitInfo.mIndex).getHighPolyModel().transform; } else { AssetLoader.AddSuitToLoad(tempSuitInfo.mIndex, AssetLoader.SuitAsset.SuitType.high, 1000); GUI.Label(new Rect(Screen.width / 2 - 200, Screen.height / 2 - 70, 400f, 40f), "Loading Suit: " + (int)(AssetLoader.GetSuitLoadProgress(tempSuitInfo.mIndex, AssetLoader.SuitAsset.SuitType.high) * 100f) + "%", mShowcaseSkin.GetStyle("SuitLoadStyle")); GUIUtil.DrawLoadingAnim(new Rect((Screen.width - 128) / 2, (Screen.height - 128) / 2 + 40, 128f, 128f), 1); } } GUI.color = Color.white; if (Input.GetKeyUp(KeyCode.Keypad0)) { tempheight = 0f; } if (Input.GetKeyUp(KeyCode.Keypad1)) { LastKey = KeyCode.Keypad1; tempheight = 0f; } if (Input.GetKeyUp(KeyCode.Keypad2)) { LastKey = KeyCode.Keypad2; tempheight = 0f; } if (Input.GetKeyUp(KeyCode.Keypad3)) { LastKey = KeyCode.Keypad3; tempheight = 0f; } tempheight += Time.deltaTime * tabGroup.height / 1f; tempheight = Mathf.Min(tempheight, mInspectGroup.height); switch (LastKey) { case KeyCode.Keypad1: GUI.BeginGroup(new Rect(mInspectGroup.x, mInspectGroup.y, mInspectGroup.width, tempheight)); ShowPreview(); GUI.EndGroup(); break; case KeyCode.Keypad2: GUI.BeginGroup(new Rect(mInspectGroup.x, mInspectGroup.y + mInspectGroup.height / 2f - tempheight / 2f, mInspectGroup.width, tempheight)); ShowPreview(); GUI.EndGroup(); break; case KeyCode.Keypad3: GUI.BeginGroup(new Rect(mInspectGroup.x, (int)(mInspectGroup.y + mInspectGroup.height / 2f - tempheight / 2f), mInspectGroup.width, tempheight)); GUI.BeginGroup(new Rect(0f, (int)(0f - mInspectGroup.height / 2f + tempheight / 2f), mInspectGroup.width, mInspectGroup.height)); ShowPreview(); GUI.EndGroup(); GUI.EndGroup(); break; } GUI.BeginGroup(mViewToolsGroup); GUI.Box(new Rect(0f, 0f, 0f, 0f), GUIContent.none, mShowcaseSkin.GetStyle("ViewToolsBracket")); bool flag = Event.current.type != EventType.Repaint && clickRepeat; switch (GUIUtil.RepeatButton(new Rect(49f, mViewToolsGroup.height - 34f, 34f, 34f), GUIContent.none, mShowcaseSkin.GetStyle("RotateLeft" + GameData.MyFactionId))) { case GUIUtil.GUIState.Hover: case GUIUtil.GUIState.Active: if (Event.current.type == EventType.Repaint) { b = "RotateLeft"; if (lastHover != b) { GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over); } } break; case GUIUtil.GUIState.Click: b = "RotateLeft"; mSuitInspector.ModelRotations[0].y += 75f * Time.deltaTime; if (mSuitInspector.ModelRotations[0].y > 360f) { mSuitInspector.ModelRotations[0].y -= 360f; } flag = true; if (!clickRepeat) { GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press); } break; } switch (GUIUtil.RepeatButton(new Rect(85f, mViewToolsGroup.height - 34f, 34f, 34f), GUIContent.none, mShowcaseSkin.GetStyle("RotateRight" + GameData.MyFactionId))) { case GUIUtil.GUIState.Hover: case GUIUtil.GUIState.Active: if (Event.current.type == EventType.Repaint) { b = "RotateRight"; if (lastHover != b) { GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over); } } break; case GUIUtil.GUIState.Click: b = "RotateRight"; mSuitInspector.ModelRotations[0].y -= 75f * Time.deltaTime; if (mSuitInspector.ModelRotations[0].y < 0f) { mSuitInspector.ModelRotations[0].y += 360f; } flag = true; if (!clickRepeat) { GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press); } break; } switch (GUIUtil.RepeatButton(new Rect(121f, mViewToolsGroup.height - 34f, 34f, 34f), GUIContent.none, mShowcaseSkin.GetStyle("ZoomIn" + GameData.MyFactionId))) { case GUIUtil.GUIState.Hover: case GUIUtil.GUIState.Active: if (Event.current.type == EventType.Repaint) { b = "ZoomIn"; if (lastHover != b) { GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over); } } break; case GUIUtil.GUIState.Click: b = "ZoomIn"; mSuitInspector.mCameraOffset.z -= Time.deltaTime * 10f; mSuitInspector.mCameraOffset.y -= Time.deltaTime * 3.5f; mSuitInspector.LimitCameraOffset(); flag = true; if (!clickRepeat) { GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press); } break; } switch (GUIUtil.RepeatButton(new Rect(157f, mViewToolsGroup.height - 34f, 34f, 34f), GUIContent.none, mShowcaseSkin.GetStyle("ZoomOut" + GameData.MyFactionId))) { case GUIUtil.GUIState.Hover: case GUIUtil.GUIState.Active: if (Event.current.type == EventType.Repaint) { b = "ZoomOut"; if (lastHover != b) { GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over); } } break; case GUIUtil.GUIState.Click: b = "ZoomOut"; mSuitInspector.mCameraOffset.z += Time.deltaTime * 10f; mSuitInspector.mCameraOffset.y += Time.deltaTime * 3.5f; mSuitInspector.LimitCameraOffset(); flag = true; if (!clickRepeat) { GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press); } break; } clickRepeat = flag; SuitInspector.TempSuitInfo tempSuitInfo2 = mSuits[mSelectedIndex]; GUI.color = Color.white; if (GameData.MATCH_MODE == GameData.Build.DEBUG || GameData.MyOwnedSuitIDs.Contains(tempSuitInfo2.mIndex) || Application.isEditor) { if (GameData.MySuitID != tempSuitInfo2.mIndex) { switch (GUIUtil.Button(new Rect(39f, 5f, 163f, 50f), new GUIContent("Equip Exosuit", GUIUtil.GUISoundClips.TT_Global_Button_Over + "05"), mShowcaseSkin.GetStyle("EquipButton" + GameData.MyFactionId))) { case GUIUtil.GUIState.Hover: case GUIUtil.GUIState.Active: if (Event.current.type == EventType.Repaint) { b = "Equip Exosuit"; if (lastHover != b) { GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over); } } break; case GUIUtil.GUIState.Click: b = "Equip Exosuit"; GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Hangar_Equip_Press); GameData.MySuitID = tempSuitInfo2.mIndex; mParent.avatarTexture = (Resources.Load("HUD/avatar/" + GameHUD.avatar_images[GameData.MySuitID - 1]) as Texture2D); break; } } else if (GameData.MySuitID == tempSuitInfo2.mIndex) { switch (GUIUtil.Button(new Rect(39f, 5f, 163f, 50f), new GUIContent("Current Exosuit", GUIUtil.GUISoundClips.TT_Global_Button_Over + "05"), mShowcaseSkin.GetStyle("EquipButton" + GameData.MyFactionId))) { case GUIUtil.GUIState.Hover: case GUIUtil.GUIState.Active: if (Event.current.type == EventType.Repaint) { b = "Current Exosuit"; if (lastHover != b) { GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over); } } break; case GUIUtil.GUIState.Click: b = "Current Exosuit"; GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Hangar_Button_Inactive); break; } } } else { bool bEnable = false; if (GameData.MyPlayStatus > 1 && tempSuitInfo2.mLevelRequirement <= GameData.MyLevel && GameData.MyTotalCredits >= tempSuitInfo2.mCost) { bEnable = true; } GUIUtil.GUIEnable(bEnable); switch (GUIUtil.Button(new Rect(39f, 5f, 163f, 50f), new GUIContent("Buy Exosuit", GUIUtil.GUISoundClips.TT_Global_Button_Over + "05"), mShowcaseSkin.GetStyle("EquipButton" + GameData.MyFactionId))) { case GUIUtil.GUIState.Hover: case GUIUtil.GUIState.Active: if (Event.current.type == EventType.Repaint) { b = "Buy Exosuit"; if (lastHover != b) { GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over); } } break; case GUIUtil.GUIState.Click: b = "Buy Exosuit"; GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Hangar_Buy_Press); MessageBox.AddMessageCustom("Confirm Purchase", "Are you sure that you want to buy " + tempSuitInfo2.mSuitName + " for " + tempSuitInfo2.mCost + "c?", null, true, OnClickBuy, "Yes, Buy", "No, Cancel"); break; } GUIUtil.GUIEnable(bEnable: true); } GUI.EndGroup(); float f = 0.8f; GUI.matrix = Matrix4x4.identity; int num = Mathf.CeilToInt((float)mSuits.Count / (float)mNumPerColumn); float num2 = (float)(mSelectedIndex / mNumPerColumn) - anim; if (num2 < 0f) { num2 += (float)num; } anim += Time.deltaTime * Mathf.Max(num2, 0.25f) * 1.3f; if (anim > (float)num) { anim -= num; } int num3 = (int)anim; int num4 = num3; if (mSelectedIndex / mNumPerColumn == num3) { anim = num3; } num4 = num3 - 1; int num5 = -1; bool flag2 = GUIUtil.TestFlag(GUIUtil.GUIFlags.WindowUp); do { if (num4 < 0) { num4 = num - 1; } if (num4 >= num || num4 < 0) { break; } float num6 = (float)num4 - anim; if (num6 <= -1f) { num6 = (float)num + num6; } float num7 = Mathf.Pow(f, num6); if (num7 > 1f) { num7 *= num7; } GUI.matrix = Matrix4x4.identity * Matrix4x4.Scale(new Vector3(num7, num7, 1f)); float num8 = (mSelectTop + mGapSize * num6) / num7; float num9 = (tabGroup.width - mIconSize - mGapSize) / num7; float num10 = Mathf.Clamp(GameHome.ScreenSpace.width / (4.25f * (float)num * GameHome.ScreenSpace.height / GameHome.ScreenSpace.width), mIconSize * 0.4f, mIconSize * 0.75f); float num11 = num6; while ((num11 -= 1f) >= 0f) { num9 -= num10 / Mathf.Pow(f, num11); num8 += -10f / Mathf.Pow(f, num11); } float num12 = num6 - (float)Mathf.FloorToInt(num6); if (num12 > 0f) { num9 -= num12 * num10; num8 += num12 * -10f; } for (int i = 0; i < Mathf.Min(mNumPerColumn, mSuits.Count - num4 * mNumPerColumn); i++) { int num13 = num4 * mNumPerColumn + i; SuitInspector.TempSuitInfo tempSuitInfo3 = mSuits[num13]; bool flag3 = GameData.MyOwnedSuitIDs.Contains(tempSuitInfo3.mIndex); string text = "ChooserLockedIcon"; if (flag3) { text = "ChooserOwnedIcon"; } else if (tempSuitInfo3.mLevelRequirement <= GameData.MyLevel) { text = "ChooserBuyableIcon"; } if (num7 > 1f) { GUI.color = new Color(1f, 1f, 1f, 4.05f - Mathf.Sqrt(num7 * 13f)); if (GameData.MySuitID == tempSuitInfo3.mIndex) { text += "Hover"; } Rect position = new Rect(num9 + mIconSize * 0.65f / num7, num8 + (float)i * (mIconSize + mGapSize), mIconSize, mIconSize); if ((bool)GameData.getExosuit(tempSuitInfo3.mIndex).mGuiLoadoutImage) { GUI.DrawTexture(position, GameData.getExosuit(tempSuitInfo3.mIndex).mGuiLoadoutImage); } GUI.Box(position, GUIContent.none, mShowcaseSkin.GetStyle(text)); continue; } Rect position2 = new Rect(num9, num8 + (float)i * (mIconSize + mGapSize), mIconSize, mIconSize); if (position2.Contains(Event.current.mousePosition) && !flag2) { num5 = num13; if (Event.current.type == EventType.MouseUp) { SetCurrentSelection(num13); } } if (mHoverIndex == num13) { float num14 = (0.05f + Mathf.Lerp(0f, 0.1f, Mathf.Abs(Mathf.Sin(mHoverTime * 2f)) / (float)Math.PI)) * position2.width; position2.x -= num14; position2.y -= num14; position2.width += num14 + num14; position2.height += num14 + num14; text += "Hover"; } float a = Mathf.Lerp(1f, 0.1f, Mathf.Clamp((num6 / (float)num - 0.2f) * 2f, 0f, 1f)); if (Event.current.type == EventType.Repaint) { Texture2D texture2D = Resources.Load("SuitChooser/ex_" + GameData.getExosuit(tempSuitInfo3.mIndex).mSuitFileName) as Texture2D; if (texture2D != null) { if (flag2) { GUI.DrawTexture(position2, whitebox.normal.background); GUI.color = new Color(1f, 1f, 1f, 0.6f); mHoverIndex = -1; } else if (mHoverIndex != num13) { GUI.color = new Color(1f, 1f, 1f, a); } GUI.DrawTexture(position2, texture2D); GUI.color = Color.white; } GUI.Box(position2, GUIContent.none, mShowcaseSkin.GetStyle(text)); } if (mHoverIndex != num13) { GUI.color = new Color(1f, 1f, 1f, a); } if (!flag3 && tempSuitInfo3.mLevelRequirement > GameData.MyLevel) { Rect position3 = new Rect(position2.x + position2.width - 42f - 3f, position2.y + position2.height - 42f - 3f, 42f, 42f); GUIStyle style = mShowcaseSkin.GetStyle("ChooserLockTag"); GUI.Box(position3, tempSuitInfo3.mLevelRequirement.ToString(), style); } else if (!flag3) { Rect position4 = new Rect(position2.x + 3f, position2.y + position2.height - 30f, position2.width - 6f, 27f); GUIStyle style2 = mShowcaseSkin.GetStyle("ChooserBuyTag"); GUI.Box(position4, GameData.getExosuit(tempSuitInfo3.mIndex).mCost.ToString(), style2); GUI.Box(new Rect(position4.x + 5f, position4.y + (position4.height - 23f) / 2f, 23f, 23f), GUIContent.none, mSharedSkin.GetStyle("CreditSymbol")); } GUI.color = new Color(0f, 0f, 0f, Mathf.Lerp(0f, 0.75f, Mathf.Abs(Mathf.Sin(num6 / (float)(num - 1) * (float)Math.PI)))); GUI.Box(position2, GUIContent.none, whitebox); GUI.color = Color.white; } }while (num4-- != num3); if (Event.current.type == EventType.Repaint) { if (flag2) { mHoverIndex = -1; } else if (mHoverIndex != num5) { mHoverIndex = num5; GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Hangar_Suit_Chooser_Over); } } GUI.matrix = Matrix4x4.identity; if (mHoverIndex == -1) { mHoverTime = 0f; } else { GUIUtil.Tooltip = mSuits[mHoverIndex].mSuitName; mHoverTime += Time.deltaTime; } lastHover = b; }
protected override void waitToSpawnPlayer() { MessageBox.AddMessageCustom("Go Fullscreen?", "We suggest training in fullscreen. Would you like to go fullscreen now?", null, false, FullScreenCallback, "No", "Yes"); base.waitToSpawnPlayer(); mHUD.avatarTexture = (Resources.Load("HUD/avatar/HUD_thumb_training") as Texture2D); }
private void OnGUI() { GUIUtil.GUIEnable(bEnable: true); GUI.skin = SharedHudSkin; if ((mTextureBundles.isDone && mTextureBundles.assetBundle == null) || mTextureBundles.error != null) { GUI.Box(screenSpace, GUIContent.none, "blackbox"); GUI.Label(new Rect(0f, screenSpace.height / 2f, screenSpace.width, 150f), "Loading Assets Error.", "MissionHeader"); Logger.traceError(mTextureBundles.error); return; } GUI.Box(screenSpace, GUIContent.none, "blackbox"); GUI.Label(new Rect(0f, screenSpace.height / 2f, screenSpace.width, 30f), "Loading Assets: " + mTextureBundles.progress * 100f + "%", GUIUtil.mInstance.mShowcaseSkin.GetStyle("SuitLoadStyle")); if (mTextureBundles.isDone && !bTexturesLoaded) { return; } GUI.BeginGroup(screenSpace); string b = (Event.current.type != EventType.Repaint) ? lastHover : string.Empty; if (bLoading) { MessageBox.Local("Loading...", "Please wait.", null, false, MessageBox.MessageType.MB_NoButtons); } Vector2 mousePosition = Event.current.mousePosition; float num = 0f; if (StartAnim == -1) { if (mFactionSelected == -1) { num = fMiddle; } else if (mFactionSelected == 0) { if (bViewFaction) { Vector2 mousePosition2 = Event.current.mousePosition; num = Mathf.Clamp((0f - mousePosition2.x) / (float)Screen.width * 3.25f + 4.55f, 1.75f, 4f); } else { num = 1.75f; } } else if (mFactionSelected == 1) { if (bViewFaction) { Vector2 mousePosition3 = Event.current.mousePosition; num = Mathf.Clamp((0f - mousePosition3.x) / (float)Screen.width * 3.55f - 1.25f, -4f, -1.45f); } else { num = -1.45f; } } mCurrentScroll += (num - mCurrentScroll) * Time.deltaTime; } num = mCurrentScroll; float num2 = num * ScrollFactor; float num3 = screenSpace.width / 2f + num2; GUI.color = Color.white; GUI.DrawTexture(new Rect(((0f - screenSpace.height) * 4.5f + screenSpace.width) / 2f + num2, 0f, screenSpace.height * 4.5f, screenSpace.height), mBackground); if (StartAnim != -1) { if (StartAnim == 3) { GUI.DrawTexture(new Rect(0f, 0f, screenSpace.width, 23f), ChooseYourFaction); } GUI.color = new Color(1f, 1f, 1f, 1f - BlackFade); GUI.Box(screenSpace, GUIContent.none, "blackbox"); GUI.color = Color.white; GUI.EndGroup(); return; } GUI.color = OutlineColor; for (int i = 0; i < DrawBanzaiOutlines.Length; i++) { if (DrawBanzaiOutlines[i]) { GUI.DrawTexture(new Rect(num3 + fObjectOffsetX * BanzaiSuitOutlineRects[i].x, fObjectOffsetX * BanzaiSuitOutlineRects[i].y, fObjectOffsetX * (float)BanzaiSuitOutlineTextures[i].width, fObjectOffsetX * (float)BanzaiSuitOutlineTextures[i].height), BanzaiSuitOutlineTextures[i]); } } GUI.color = Color.white; for (int j = 0; j < DrawBanzaiOutlines.Length; j++) { if (!DrawBanzaiOutlines[j]) { continue; } GUI.DrawTexture(new Rect(num3 + fObjectOffsetX * BanzaiSuitRects[j].x, fObjectOffsetX * BanzaiSuitRects[j].y, fObjectOffsetX * (float)BanzaiSuitTextures[j].width, fObjectOffsetX * (float)BanzaiSuitTextures[j].height), BanzaiSuitTextures[j]); if (Event.current.type != EventType.MouseUp || !(fIgnoreClick <= 0f)) { continue; } if (mFactionSelected == -1) { GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Hangar_Suit_Chooser_Change_Column); mFadeLeft = 1f; mFactionSelected = 0; mSuitSelected = -1; for (int k = 0; k < mNameTimer.Length; k++) { mNameTimer[k] = 1f; } break; } if (mFactionSelected == 0 && mSuitSelected == -1) { mSuitSelected = mBanzaiSuits[j]; GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Hangar_Equip_Press); } } GUI.color = OutlineColor; for (int l = 0; l < DrawAtlasOutlines.Length; l++) { if (DrawAtlasOutlines[l]) { GUI.DrawTexture(new Rect(num3 + fObjectOffsetX * AtlasSuitOutlineRects[l].x, fObjectOffsetX * AtlasSuitOutlineRects[l].y, fObjectOffsetX * (float)AtlasSuitOutlineTextures[l].width, fObjectOffsetX * (float)AtlasSuitOutlineTextures[l].height), AtlasSuitOutlineTextures[l]); } } GUI.color = Color.white; for (int m = 0; m < DrawAtlasOutlines.Length; m++) { if (!DrawAtlasOutlines[m]) { continue; } GUI.DrawTexture(new Rect(num3 + fObjectOffsetX * AtlasSuitRects[m].x, fObjectOffsetX * AtlasSuitRects[m].y, fObjectOffsetX * (float)AtlasSuitTextures[m].width, fObjectOffsetX * (float)AtlasSuitTextures[m].height), AtlasSuitTextures[m]); if (Event.current.type != EventType.MouseUp || !(fIgnoreClick <= 0f)) { continue; } if (mFactionSelected == -1) { GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Hangar_Suit_Chooser_Change_Column); mFadeLeft = 1f; mFactionSelected = 1; mSuitSelected = -1; for (int n = 0; n < mNameTimer.Length; n++) { mNameTimer[n] = 1f; } break; } if (mFactionSelected == 1 && mSuitSelected == -1) { mSuitSelected = mAtlasSuits[m]; GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Hangar_Equip_Press); } } if (mFactionSelected == -1) { GUI.DrawTexture(new Rect(0f, 0f, screenSpace.width, 23f), ChooseYourFaction); int num4 = -1; for (int num5 = 0; num5 < FactionButtons.Length; num5++) { Rect rect = FactionButtons[num5]; rect.x = num3 + fObjectOffsetX * rect.x; rect.y *= fObjectOffsetX; rect.height *= fObjectOffsetX; rect.width *= fObjectOffsetX; if (rect.Contains(mousePosition)) { num4 = num5; } } if (num4 != -1 && mFactionHovered != num4) { GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Hangar_Suit_Chooser_Over); } mFactionHovered = num4; for (int num6 = 0; num6 < DrawBanzaiOutlines.Length; num6++) { DrawBanzaiOutlines[num6] = (mFactionHovered == 0); } for (int num7 = 0; num7 < DrawAtlasOutlines.Length; num7++) { DrawAtlasOutlines[num7] = (mFactionHovered == 1); } } else { if (!bViewFaction) { GUI.DrawTexture(new Rect(0f, 0f, screenSpace.width, 23f), ChooseYourExosuit); } Rect[] array = null; bool[] array2 = null; if (mFactionSelected == 0) { if (!bViewFaction) { for (int num8 = 0; num8 < BanzaiSuitIcons.Length; num8++) { Rect position = BanzaiSuitIconRect[num8]; position.x *= fObjectOffsetX; position.y *= fObjectOffsetX; position.width *= fObjectOffsetX; position.height *= fObjectOffsetX; position.x += num3 + (float)(int)(position.width * mFadeLeft); position.width = (int)(position.width * (1f - mFadeLeft)); GUI.BeginGroup(position); Rect position2 = new Rect((0f - BanzaiSuitIconRect[num8].width) * fObjectOffsetX * mFadeLeft, 0f, (float)BanzaiSuitIcons[num8].width * fObjectOffsetX, (float)BanzaiSuitIcons[num8].height * fObjectOffsetX); GUI.DrawTexture(position2, BanzaiSuitIcons[num8]); GUI.EndGroup(); Rect position3 = new Rect(position.x, position.y, (int)((float)FactionTextBG[0].width * fObjectOffsetX * (1f - mNameTimer[num8])), (float)FactionTextBG[0].height * fObjectOffsetX); position3.x -= position3.width; GUI.BeginGroup(position3); GUI.DrawTexture(new Rect((int)((float)(-FactionTextBG[0].width) * fObjectOffsetX * mNameTimer[num8]), 0f, (float)FactionTextBG[0].width * fObjectOffsetX, (float)FactionTextBG[0].height * fObjectOffsetX), FactionTextBG[0]); GUI.DrawTexture(new Rect((float)(int)((float)(-FactionTextBG[0].width) * fObjectOffsetX * mNameTimer[num8]) + ((float)FactionTextBG[0].width * fObjectOffsetX - (float)BanzaiSuitText[num8].width * fObjectOffsetX) / 2f, 10f, (float)BanzaiSuitText[num8].width * fObjectOffsetX, (float)BanzaiSuitText[num8].height * fObjectOffsetX), BanzaiSuitText[num8]); GUI.EndGroup(); } switch (GUIUtil.Button(new Rect(10f, 10f, 80f, 38f), "BACK", "ModalButton")) { case GUIUtil.GUIState.Hover: case GUIUtil.GUIState.Active: if (Event.current.type == EventType.Repaint) { b = "BACK"; if (lastHover != b) { GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over); } } break; case GUIUtil.GUIState.Click: b = "BACK"; GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press); mFactionSelected = -1; mSuitSelected = -1; mFadeLeft = 1f; GUI.EndGroup(); return; } } array = BanzaiButtons; array2 = DrawBanzaiOutlines; switch (GUIUtil.Button(new Rect(10f, screenSpace.height - 48f, 120f, 38f), (!bViewFaction) ? "VIEW FACTION" : "BACK TO SUITS", "ModalButton")) { case GUIUtil.GUIState.Hover: case GUIUtil.GUIState.Active: if (Event.current.type == EventType.Repaint) { b = "BACK TO SUITS"; if (lastHover != b) { GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over); } } break; case GUIUtil.GUIState.Click: b = "BACK TO SUITS"; GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press); bViewFaction = !bViewFaction; mSuitSelected = -1; GUI.EndGroup(); return; } } else if (mFactionSelected == 1) { if (!bViewFaction) { for (int num9 = 0; num9 < AtlasSuitIcons.Length; num9++) { Rect position4 = AtlasSuitIconRect[num9]; position4.x *= fObjectOffsetX; position4.y *= fObjectOffsetX; position4.width *= fObjectOffsetX; position4.height *= fObjectOffsetX; position4.x += num3; position4.width *= 1f - mFadeLeft; GUI.BeginGroup(position4); GUI.DrawTexture(new Rect(0f, 0f, (float)AtlasSuitIcons[num9].width * fObjectOffsetX, (float)AtlasSuitIcons[num9].height * fObjectOffsetX), AtlasSuitIcons[num9]); GUI.EndGroup(); Rect position5 = new Rect(position4.x + position4.width, position4.y, (float)FactionTextBG[1].width * fObjectOffsetX * (1f - mNameTimer[num9]), (float)FactionTextBG[1].height * fObjectOffsetX); GUI.BeginGroup(position5); GUI.DrawTexture(new Rect(0f, 0f, (float)FactionTextBG[1].width * fObjectOffsetX, (float)FactionTextBG[1].height * fObjectOffsetX), FactionTextBG[1]); GUI.DrawTexture(new Rect(((float)FactionTextBG[1].width * fObjectOffsetX - (float)AtlasSuitText[num9].width * fObjectOffsetX) / 2f, 10f, (float)AtlasSuitText[num9].width * fObjectOffsetX, (float)AtlasSuitText[num9].height * fObjectOffsetX), AtlasSuitText[num9]); GUI.EndGroup(); } switch (GUIUtil.Button(new Rect(screenSpace.width - 90f, 10f, 80f, 38f), "BACK", "ModalButton")) { case GUIUtil.GUIState.Hover: case GUIUtil.GUIState.Active: if (Event.current.type == EventType.Repaint) { b = "BACK"; if (lastHover != b) { GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over); } } break; case GUIUtil.GUIState.Click: b = "BACK"; GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press); mFactionSelected = -1; mSuitSelected = -1; mFadeLeft = 1f; GUI.EndGroup(); return; } } array = AtlasButtons; array2 = DrawAtlasOutlines; switch (GUIUtil.Button(new Rect(screenSpace.width - 130f, screenSpace.height - 48f, 120f, 38f), (!bViewFaction) ? "VIEW FACTION" : "BACK TO SUITS", "ModalButton")) { case GUIUtil.GUIState.Hover: case GUIUtil.GUIState.Active: if (Event.current.type == EventType.Repaint) { b = "BACK TO SUITS"; if (lastHover != b) { GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over); } } break; case GUIUtil.GUIState.Click: b = "BACK TO SUITS"; GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press); bViewFaction = !bViewFaction; mSuitSelected = -1; GUI.EndGroup(); return; } } if (mSuitSelected == -1 && !bViewFaction) { for (int num10 = 0; num10 < array.Length; num10++) { Rect rect2 = array[num10]; rect2.x *= fObjectOffsetX; rect2.y *= fObjectOffsetX; rect2.width *= fObjectOffsetX; rect2.height *= fObjectOffsetX; rect2.x += num2; if (rect2.Contains(mousePosition)) { if (!array2[num10]) { GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Hangar_Suit_Chooser_Over); } array2[num10] = true; } else { array2[num10] = false; } } } SuitInspector.TempSuitInfo tempSuitInfo = new SuitInspector.TempSuitInfo(); GUIUtil.GUIEnable(bEnable: true); if (mSuitSelected != -1) { tempSuitInfo.mSuitName = GameData.getExosuit(mSuitSelected).mSuitName; Exosuit exosuit = GameData.getExosuit(mSuitSelected); tempSuitInfo.mSuitShow = exosuit.mShowName; tempSuitInfo.mSuitName = exosuit.mSuitName; tempSuitInfo.mIndex = mSuitSelected; tempSuitInfo.mDescription = exosuit.mDescription; tempSuitInfo.mShieldPower = exosuit.mBaseHealth; tempSuitInfo.mShieldRegen = exosuit.mBaseRegenHealth; tempSuitInfo.mJetpack = exosuit.mBaseJetFuel; tempSuitInfo.mSpeed = exosuit.mBaseSpeed; tempSuitInfo.mTech = exosuit.mBaseTech; Rect position6 = new Rect(150f, 60f, screenSpace.width - 300f, screenSpace.height - 120f); GUI.BeginGroup(position6); mSuitInspector.DrawSuitInfo(tempSuitInfo, bDraw3D: true); float num11 = 230f + (position6.width - 230f) / 2f; if (GameData.getExosuit(mSuitSelected).getHighPolyModel() == null) { GUI.Label(new Rect(num11 - 200f, position6.height / 2f - 90f, 400f, 40f), "Loading Suit: " + (int)(AssetLoader.GetSuitLoadProgress(tempSuitInfo.mIndex, AssetLoader.SuitAsset.SuitType.high) * 100f) + "%", GUIUtil.mInstance.mShowcaseSkin.GetStyle("SuitLoadStyle")); GUIUtil.DrawLoadingAnim(new Rect(num11 - 64f, (Screen.height - 128) / 2, 128f, 128f), 1); } GUI.color = Color.white; switch (GUIUtil.Button(new Rect(num11 - 70f, position6.height - 45f, 140f, 34f), "CHOOSE EXOSUIT", "ModalButton")) { case GUIUtil.GUIState.Hover: case GUIUtil.GUIState.Active: if (Event.current.type == EventType.Repaint) { b = "CHOOSE EXOSUIT"; if (lastHover != b) { GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over); } } break; case GUIUtil.GUIState.Click: b = "CHOOSE EXOSUIT"; GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press); MessageBox.ResetWindowPosition(); MessageBox.AddMessageCustom("Join " + GameData.getFactionDisplayName(mFactionSelected + 1) + "?", "Once you pledge your allegiance to a faction, you can not switch sides. Are you sure you want to select the " + tempSuitInfo.mSuitName + " and join " + GameData.getFactionDisplayName(mFactionSelected + 1) + "?", null, true, OnJoinConfirm, "Yes, Join", "No, Cancel"); break; } switch (GUIUtil.Button(new Rect(position6.width - 64f, 0f, 64f, 42f), GUIContent.none, "Close")) { case GUIUtil.GUIState.Hover: case GUIUtil.GUIState.Active: if (Event.current.type == EventType.Repaint) { b = "Close"; if (lastHover != b) { GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over); } } break; case GUIUtil.GUIState.Click: b = "Close"; GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Hangar_Button_Inactive); mSuitSelected = -1; break; } GUI.EndGroup(); } } GUI.EndGroup(); if (Event.current.type == EventType.MouseUp) { fIgnoreClick = 0.05f; } lastHover = b; }