public override void SendActivatePickupEvent(int pickupIdx, int pickupType, int pickupTime, int effectTime)
    {
        switch (pickupType)
        {
        case 0:
            FirstUse.DoAction(FirstUse.Frame.RequiredAction.Pickup_Shield);
            break;

        case 1:
            FirstUse.DoAction(FirstUse.Frame.RequiredAction.Pickup_Damage);
            break;

        case 2:
            FirstUse.DoAction(FirstUse.Frame.RequiredAction.Pickup_Invis);
            break;

        case 3:
            FirstUse.DoAction(FirstUse.Frame.RequiredAction.Pickup_Speed);
            break;

        case 6:
            FirstUse.DoAction(FirstUse.Frame.RequiredAction.Pickup_Rocket);
            break;

        case 5:
            FirstUse.DoAction(FirstUse.Frame.RequiredAction.Pickup_HelixCannon);
            break;

        case 4:
            FirstUse.DoAction(FirstUse.Frame.RequiredAction.Pickup_Longshot);
            break;
        }
        activatePickup(pickupIdx, pickupType, GameData.MyPlayerId - 1);
    }
        public Vector2 Calculate()
        {
            Vector2 result = default(Vector2);

            result.x = FirstUse.Calculate(_x);
            result.y = FirstUse.Calculate(_y);
            return(result);
        }
        public Rect Calculate()
        {
            Rect result = default(Rect);

            result.x      = FirstUse.Calculate(x);
            result.y      = FirstUse.Calculate(y);
            result.width  = FirstUse.Calculate(width);
            result.height = FirstUse.Calculate(height);
            return(result);
        }
    public override void SendMyGrenadePosition(Vector3 pos, float angle, int num, int type)
    {
        WeaponScript weaponScript = null;

        if (myGamePlayer.weapon != null && (bool)(weaponScript = myGamePlayer.weapon.GetComponent <WeaponScript>()) && weaponScript.totalBullets == 1)
        {
            weaponScript.totalBullets = weaponScript.clipSize + 1;
        }
        Player player = myPlayer.GetComponent("Player") as Player;

        player.ThrowGrenade(pos, angle, type, GrenadeIDcounter++);
        FirstUse.DoAction(FirstUse.Frame.RequiredAction.ThrowGrenade);
    }
 private void Start()
 {
     TextScroll = 0f;
     StartCoroutine(UpdateScreenSpace());
     mInstance = this;
     Frame[] array = mFrames;
     foreach (Frame frame in array)
     {
         frame.mText = frame.mText.Replace("[factionname]", GameData.getFactionDisplayName(GameData.MyFactionId));
         frame.mText = frame.mText.Replace("[exosuit]", GameData.getExosuit(GameData.MySuitID).mSuitName);
     }
     base.gameObject.AddComponent <AudioSource>();
     StartCoroutine(SendAvatarMessageSound());
     myLabel = null;
 }
    public override void SendMyShotPosition(Vector3 pos, float angle, float angleIncrement, float distance)
    {
        Vector2 point = Input.mousePosition;

        point.y = (float)Screen.height - point.y;
        WeaponScript weaponScript = null;

        if (myGamePlayer.weapon != null && (bool)(weaponScript = myGamePlayer.weapon.GetComponent <WeaponScript>()) && weaponScript.totalBullets == 1)
        {
            weaponScript.totalBullets = weaponScript.clipSize + 1;
        }
        Rect groupPos = FirstUse.mInstance.GetGroupPos();

        groupPos.y     += groupPos.height - FirstUse.mInstance.GetFrame().mBoxSize.y;
        groupPos.height = FirstUse.mInstance.GetFrame().mBoxSize.y;
        if (!groupPos.Contains(point))
        {
            FirstUse.DoAction(FirstUse.Frame.RequiredAction.Shoot);
            myGamePlayer.remoteShoot(pos, angle, angleIncrement, 0);
        }
    }
    private IEnumerator TutorialUpdate()
    {
        while (!allPlayersSpawned)
        {
            yield return(new WaitForEndOfFrame());
        }
        Object.Destroy(GameObject.Find("TT_Glass"));
        Object.Destroy(GameObject.Find("TT_Chamber_Glass"));
        sfs = null;
        SendChangeWeapon(5);
        myGamePlayer.armAngle = 0.4f;
        myGamePlayer.SetSuit(1);
        myGamePlayer.mRegenGrenade = true;
        myGamePlayer.healthCurrent = myGamePlayer.healthMax;
        mHUD.setMaxHealth(myGamePlayer.healthCurrent);
        mHUD.setCurrentHealth(myGamePlayer.healthCurrent);
        mHUD.setTargetHealth(myGamePlayer.healthCurrent);
        while (FirstUse.mInstance == null)
        {
            yield return(new WaitForEndOfFrame());
        }
        FirstUse.Frame CurrentFrame = FirstUse.mInstance.GetFrame();
        while (CurrentFrame != null)
        {
            CurrentFrame = FirstUse.mInstance.GetFrame();
            if (CurrentFrame.mCharImage != FirstUse.Frame.CharacterImage.None)
            {
                myGamePlayer.bDisableControl = true;
            }
            else if (myGamePlayer.bDisableControl)
            {
                StartCoroutine(DelayRelease(0.25f));
            }
            if (bCanUseGrenades)
            {
                if (myGamePlayer.mNumGrenades == 0)
                {
                    myGamePlayer.mNumGrenades = myGamePlayer.mMaxGrenades;
                }
            }
            else
            {
                myGamePlayer.mNumGrenades = 0;
            }
            myPlayer.gameObject.SendMessage("ResetHelp", false);
            if (CurrentFrame.mContextualHelp != 0)
            {
                myPlayer.gameObject.SendMessage(CurrentFrame.mContextualHelp.ToString());
            }
            switch (CurrentFrame.mAction)
            {
            case FirstUse.Frame.RequiredAction.Waypoint:
            {
                Rect    FocusRect = CurrentFrame.mFocusRect.Calculate();
                Vector3 Waypoint  = new Vector3(FocusRect.x, FocusRect.y, 0f);
                float   x         = Waypoint.x;
                Vector3 position  = myPlayer.transform.position;
                if (Mathf.Abs(x - position.x) < 5f)
                {
                    FirstUse.DoAction(FirstUse.Frame.RequiredAction.Waypoint);
                }
                break;
            }

            case FirstUse.Frame.RequiredAction.Waypoint_Area:
            {
                Rect    FocusRect2 = CurrentFrame.mFocusRect.Calculate();
                Vector3 Waypoint2  = new Vector3(FocusRect2.x, FocusRect2.y, 0f);
                if ((Waypoint2 - myPlayer.transform.position).sqrMagnitude < 2500f)
                {
                    FirstUse.DoAction(FirstUse.Frame.RequiredAction.Waypoint_Area);
                }
                break;
            }

            case FirstUse.Frame.RequiredAction.Do_Capture:
                if (CurrentFrame.ActionCount > 0)
                {
                    CurrentFrame.ActionCount--;
                    int toPass = 0;
                    myPlayer.SendMessage("Captured", toPass);
                    GamePlay.messageTimer = 500000f;
                    if (!CurrentFrame.mNextButton)
                    {
                        FirstUse.DoAction(FirstUse.Frame.RequiredAction.Do_Capture);
                    }
                }
                break;

            case FirstUse.Frame.RequiredAction.Do_Shutdown:
                GameData.MyTutorialStep = 4;
                TutorialTriggers.SendMessageUpwards("NoSound");
                QuitGame(0);
                break;

            case FirstUse.Frame.RequiredAction.Do_Release:
                GamePlay.messageTimer = 0f;
                myPlayer.SendMessage("Released");
                if (!CurrentFrame.mNextButton)
                {
                    FirstUse.DoAction(FirstUse.Frame.RequiredAction.Do_Release);
                }
                myGamePlayer.StopInvincible();
                break;

            case FirstUse.Frame.RequiredAction.Pickup_Rocket:
                myGamePlayer.mSpecialWeaponCooldownTimer = 0f;
                mHUD.ClearTimers();
                if (myGamePlayer.weaponIdx == 6 || myGamePlayer.weaponIdx == 7)
                {
                    SendChangeWeapon(1);
                }
                break;

            case FirstUse.Frame.RequiredAction.Pickup_Longshot:
                myGamePlayer.mSpecialWeaponCooldownTimer = 0f;
                mHUD.ClearTimers();
                if (myGamePlayer.weaponIdx == 6 || myGamePlayer.weaponIdx == 8)
                {
                    SendChangeWeapon(1);
                }
                break;

            case FirstUse.Frame.RequiredAction.Pickup_HelixCannon:
                myGamePlayer.mSpecialWeaponCooldownTimer = 0f;
                mHUD.ClearTimers();
                if (myGamePlayer.weaponIdx == 8 || myGamePlayer.weaponIdx == 7)
                {
                    SendChangeWeapon(1);
                }
                break;

            case FirstUse.Frame.RequiredAction.Obstacle_1:
            case FirstUse.Frame.RequiredAction.Obstacle_2:
            case FirstUse.Frame.RequiredAction.Obstacle_3:
            case FirstUse.Frame.RequiredAction.Obstacle_4:
            case FirstUse.Frame.RequiredAction.Obstacle_5:
            case FirstUse.Frame.RequiredAction.Obstacle_6:
            case FirstUse.Frame.RequiredAction.Obstacle_7:
            case FirstUse.Frame.RequiredAction.Obstacle_8:
            {
                int       ID       = (int)(CurrentFrame.mAction - 26 + 1);
                Transform Obstacle = TutorialTriggers.transform.FindChild("Obstacle" + ID);
                if (Obstacle != null)
                {
                    bool bCompleted = true;
                    foreach (Transform child in Obstacle)
                    {
                        if (child != Obstacle && child.gameObject.active)
                        {
                            bCompleted = false;
                            break;
                        }
                    }
                    if (bCompleted)
                    {
                        FirstUse.DoAction(CurrentFrame.mAction);
                    }
                }
                break;
            }

            case FirstUse.Frame.RequiredAction.Give_Weapon:
                SendChangeWeapon(int.Parse(CurrentFrame.mActionSpecific));
                FirstUse.DoAction(FirstUse.Frame.RequiredAction.Give_Weapon);
                break;

            case FirstUse.Frame.RequiredAction.Deactivate_GameObject:
            {
                Transform Target2 = TutorialTriggers.transform.Find(CurrentFrame.mActionSpecific);
                if (Target2 != null)
                {
                    Target2.gameObject.SetActiveRecursively(state: false);
                }
                FirstUse.DoAction(FirstUse.Frame.RequiredAction.Deactivate_GameObject);
                break;
            }

            case FirstUse.Frame.RequiredAction.Activate_GameObject:
            {
                Transform Target = TutorialTriggers.transform.Find(CurrentFrame.mActionSpecific);
                if (Target != null)
                {
                    Target.gameObject.SetActiveRecursively(state: true);
                }
                FirstUse.DoAction(FirstUse.Frame.RequiredAction.Activate_GameObject);
                break;
            }

            case FirstUse.Frame.RequiredAction.SetGrenadesActive:
                bCanUseGrenades = bool.Parse(CurrentFrame.mActionSpecific);
                FirstUse.DoAction(FirstUse.Frame.RequiredAction.SetGrenadesActive);
                break;
            }
            yield return(0);
        }
    }
    private void OnGUI()
    {
        curhover           = ((Event.current.type != EventType.Repaint) ? lastHover : string.Empty);
        GUIUtil.GUIEnabled = true;
        GUI.BeginGroup(new Rect(screenSpace.x, screenSpace.y, 100000f, 200000f));
        GUI.skin  = mSharedSkin;
        GUI.depth = 5;
        string str = (GameData.MyPlayStatus <= 1) ? "Guest " : string.Empty;

        str = str + " " + GameData.getFactionDisplayName(GameData.MyFactionId);
        GUIUtil.mInstance.mModelRenderer.transform.rotation = Quaternion.identity;
        switch (NavState)
        {
        case 0:
            SetSuitTransform(tabhome.ModelTransform);
            tabhome.showTab(screenSpace);
            break;

        case 1:
            SetSuitTransform(tabshowcase.mSuitInspector.ModelTransforms[0]);
            tabshowcase.showTab(screenSpace);
            break;
        }
        GUI.color = Color.white;
        GUI.DrawTexture(new Rect(0f, 0f, screenSpace.width, 5f), Border);
        GUI.DrawTexture(new Rect(0f, screenSpace.height - 24f, screenSpace.width, 24f), Border);
        GUI.DrawTexture(new Rect(0f, 0f, 5f, screenSpace.height), Border);
        GUI.DrawTexture(new Rect(screenSpace.width - 5f, 0f, 5f, screenSpace.height), Border);
        GUIUtil.GUIEnableOverride(bEnable: true);
        GUI.Box(new Rect(FlagPos - 43.5f, 5f, 257f, 20f), GameData.getFactionDisplayName(GameData.MyFactionId).ToUpper(), "FactionFlagTop");
        GUIUtil.GUIEnable(bEnable: true);
        GUI.BeginGroup(new Rect(screenSpace.width - (float)XPCreditsImg.width, screenSpace.height - (float)XPCreditsImg.height, XPCreditsImg.width, XPCreditsImg.height));
        GUI.DrawTexture(new Rect(0f, 0f, XPCreditsImg.width, XPCreditsImg.height), XPCreditsImg);
        GUI.Label(new Rect(0f, 0f, XPCreditsImg.width, XPCreditsImg.height), GameData.MyTotalCredits.ToString(), "Credits");
        if (GameData.MyLevel == 50)
        {
            GUI.Box(new Rect(10f, 72f, 243f, 26f), GUIContent.none, "MaxLevel");
        }
        else
        {
            GUI.Box(new Rect(12f, 74f, 50f + Mathf.Max(0f, 150f * (((float)GameData.MyTotalXP - (float)GameData.getExpNeededForLevel(GameData.MyLevel)) / (float)(GameData.getExpNeededForLevel(GameData.MyLevel + 1) - GameData.getExpNeededForLevel(GameData.MyLevel)))), 22f), GUIContent.none, "XPBar");
            GUI.Label(new Rect(0f, 0f, XPCreditsImg.width, XPCreditsImg.height), GameData.MyLevel.ToString(), "MyLevel");
            GUI.Label(new Rect(0f, 0f, XPCreditsImg.width, XPCreditsImg.height), (GameData.MyLevel + 1).ToString(), "NextLevel");
        }
        GUI.EndGroup();
        GUI.BeginGroup(new Rect(0f, screenSpace.height - (float)PlayerImgBG.height, PlayerImgBG.width, PlayerImgBG.height));
        GUI.DrawTexture(new Rect(0f, 0f, PlayerImgBG.width, PlayerImgBG.height), PlayerImgBG);
        if (avatarTexture != null)
        {
            GUI.DrawTexture(new Rect(4f, PlayerImgBG.height - 47, 43f, 43f), avatarTexture);
        }
        else
        {
            avatarTexture = (Resources.Load("HUD/avatar/" + GameHUD.avatar_images[GameData.MySuitID - 1]) as Texture2D);
        }
        GUI.EndGroup();
        GUI.BeginGroup(new Rect(0f, 0f, NavButtonsBG.width + 100, NavButtonsBG.height));
        GUI.DrawTexture(new Rect(NavIndicator, 37.5f, 87f, 79f), NavStateImg[(GameData.MyFactionId - 1) * 2 + NavState]);
        GUI.DrawTexture(new Rect(0f, 0f, NavButtonsBG.width, NavButtonsBG.height), NavButtonsBG);
        switch (GUIUtil.CustomButton(NavButtonTris, new Rect(6f, 5f, 81f, 72f), GUIContent.none, "Home" + GameData.MyFactionId))
        {
        case GUIUtil.GUIState.Click:
            curhover = "Home";
            GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press);
            DoTransition(0);
            break;

        case GUIUtil.GUIState.Hover:
        case GUIUtil.GUIState.Active:
            if (Event.current.type == EventType.Repaint)
            {
                curhover = "Home";
                if (lastHover != curhover)
                {
                    GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over);
                }
            }
            break;
        }
        switch (GUIUtil.CustomButton(NavButtonTris, new Rect(6f, 80f, 81f, 72f), GUIContent.none, "Hangar" + GameData.MyFactionId))
        {
        case GUIUtil.GUIState.Click:
            curhover = "Hangar";
            GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press);
            DoTransition(1);
            FirstUse.DoAction(FirstUse.Frame.RequiredAction.Open_Showcase);
            break;

        case GUIUtil.GUIState.Hover:
        case GUIUtil.GUIState.Active:
            if (Event.current.type == EventType.Repaint)
            {
                curhover = "Hangar";
                if (lastHover != curhover)
                {
                    GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over);
                }
            }
            break;
        }
        GUI.EndGroup();
        GUI.BeginGroup(new Rect(screenSpace.width - (float)PlayButtonBG.width, 0f, PlayButtonBG.width, PlayButtonBG.height));
        GUI.DrawTexture(new Rect(0f, 0f, PlayButtonBG.width, PlayButtonBG.height), PlayButtonBG);
        int num = (int)(Time.realtimeSinceStartup * 24f) % animmod;

        switch (GUIUtil.CustomButton(PlayButtonTris, new Rect(8f, 4f, 195f, 51f), GUIContent.none, "Battle" + GameData.MyFactionId))
        {
        case GUIUtil.GUIState.Inactive:
        case (GUIUtil.GUIState) 3:
        case (GUIUtil.GUIState) 5:
            GUI.DrawTexture(new Rect(8f, 4f, 195f, 51f), BattleText);
            break;

        case GUIUtil.GUIState.None:
            if (num < 20)
            {
                GUI.color = ((GameData.MyFactionId != 1) ? new Color(0.8f, 0.8f, 0.8f) : Color.yellow);
                GUI.DrawTexture(new Rect(6f, 4f, 174f, 50f), BattleButtonAnimFrames[num]);
                GUI.color = Color.white;
            }
            GUI.DrawTexture(new Rect(8f, 4f, 195f, 51f), BattleText);
            break;

        case GUIUtil.GUIState.Active:
            if (num < 20)
            {
                GUI.color = ((GameData.MyFactionId != 1) ? new Color(0.48f, 0.49f, 0.22f) : new Color(0.73f, 0.19f, 0.09f));
                GUI.DrawTexture(new Rect(6f, 4f, 174f, 50f), BattleButtonAnimFrames[num]);
                GUI.color = Color.white;
            }
            GUI.DrawTexture(new Rect(8f, 4f, 195f, 51f), BattleText);
            break;

        case GUIUtil.GUIState.Hover:
            if (Event.current.type == EventType.Repaint)
            {
                curhover = "Battle";
                if (lastHover != curhover)
                {
                    GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over);
                }
                if (num < 20)
                {
                    GUI.color = ((GameData.MyFactionId != 1) ? new Color(0.48f, 0.49f, 0.22f) : new Color(0.73f, 0.19f, 0.09f));
                    GUI.DrawTexture(new Rect(6f, 4f, 174f, 50f), BattleButtonAnimFrames[num]);
                    GUI.color = Color.white;
                }
                GUI.color = Color.black;
                GUI.DrawTexture(new Rect(8f, 4f, 195f, 51f), BattleText);
                GUI.color = Color.white;
            }
            break;

        case GUIUtil.GUIState.Click:
            curhover = "Battle";
            GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press);
            battleType = 1;
            m_networkManager.m_gameModeStr = GameMode.freeforall.ToString();
            break;
        }
        GUIUtil.GUIEnable(GameData.MyPlayStatus != 1 || GameData.MATCH_MODE == GameData.Build.DEBUG);
        switch (GUIUtil.CustomButton(PlayButtonTris, new Rect(176f, 4f, 195f, 51f), GUIContent.none, "TeamBattle" + GameData.MyFactionId))
        {
        case GUIUtil.GUIState.Inactive:
        case (GUIUtil.GUIState) 3:
        case (GUIUtil.GUIState) 5:
            GUI.DrawTexture(new Rect(176f, 4f, 195f, 51f), TeamBattleText);
            break;

        case GUIUtil.GUIState.None:
            GUI.color = ((GameData.MyFactionId != 1) ? new Color(0.8f, 0.8f, 0.8f) : Color.yellow);
            if (num < 20)
            {
                GUI.DrawTexture(new Rect(175f, 4f, 174f, 50f), BattleButtonAnimFrames[num]);
            }
            if (num >= 7 && num < 25)
            {
                GUI.DrawTexture(new Rect(158f, 4f, 174f, 50f), BattleButtonAnimFrames[num - 5]);
            }
            if (num >= 14 && num < 30)
            {
                GUI.DrawTexture(new Rect(141f, 4f, 174f, 50f), BattleButtonAnimFrames[num - 10]);
            }
            GUI.color = Color.white;
            GUI.DrawTexture(new Rect(176f, 4f, 195f, 51f), TeamBattleText);
            break;

        case GUIUtil.GUIState.Active:
            GUI.color = ((GameData.MyFactionId != 1) ? new Color(0.48f, 0.49f, 0.22f) : new Color(0.73f, 0.19f, 0.09f));
            if (num < 20)
            {
                GUI.DrawTexture(new Rect(175f, 4f, 174f, 50f), BattleButtonAnimFrames[num]);
            }
            if (num >= 7 && num < 25)
            {
                GUI.DrawTexture(new Rect(158f, 4f, 174f, 50f), BattleButtonAnimFrames[num - 5]);
            }
            if (num >= 14 && num < 30)
            {
                GUI.DrawTexture(new Rect(141f, 4f, 174f, 50f), BattleButtonAnimFrames[num - 10]);
            }
            GUI.color = Color.white;
            GUI.DrawTexture(new Rect(176f, 4f, 195f, 51f), TeamBattleText);
            break;

        case GUIUtil.GUIState.Hover:
            if (Event.current.type == EventType.Repaint)
            {
                curhover = "TeamBattle";
                if (lastHover != curhover)
                {
                    GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over);
                }
                GUI.color = ((GameData.MyFactionId != 1) ? new Color(0.48f, 0.49f, 0.22f) : new Color(0.73f, 0.19f, 0.09f));
                if (num < 20)
                {
                    GUI.DrawTexture(new Rect(175f, 4f, 174f, 50f), BattleButtonAnimFrames[num]);
                }
                if (num >= 7 && num < 25)
                {
                    GUI.DrawTexture(new Rect(158f, 4f, 174f, 50f), BattleButtonAnimFrames[num - 5]);
                }
                if (num >= 14 && num < 30)
                {
                    GUI.DrawTexture(new Rect(141f, 4f, 174f, 50f), BattleButtonAnimFrames[num - 10]);
                }
                GUI.color = Color.black;
                GUI.DrawTexture(new Rect(176f, 4f, 195f, 51f), TeamBattleText);
                GUI.color = Color.white;
            }
            break;

        case GUIUtil.GUIState.Click:
            curhover = "TeamBattle";
            GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press);
            battleType = 2;
            m_networkManager.m_gameModeStr = GameMode.team.ToString();
            break;
        }
        GUIUtil.GUIEnable(bEnable: true);
        GUI.EndGroup();
        GUI.Box(new Rect(50f, screenSpace.height - 20f, screenSpace.width - 55f, 16f), GameData.MyDisplayName.ToUpper(), "NameBanner" + GameData.MyFactionId);
        GUI.Box(new Rect(screenSpace.width - 124f, screenSpace.height - 20f, 4f, 16f), GUIContent.none, "Separator");
        GUI.Box(new Rect(screenSpace.width - 243f, screenSpace.height - 20f, 4f, 16f), GUIContent.none, "Separator");
        switch (GUIUtil.Toggle(new Rect(screenSpace.width - 120f, screenSpace.height - 20f, 115f, 16f), GameData.MyFactionId == 2, GUIContent.none, "FullScreen"))
        {
        case GUIUtil.GUIState.Click:
        case (GUIUtil.GUIState) 24:
        case (GUIUtil.GUIState) 40:
            curhover = "FullScreen";
            GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press);
            if (Screen.fullScreen)
            {
                Screen.SetResolution(900, 600, fullscreen: false);
            }
            else
            {
                Screen.SetResolution(Screen.currentResolution.width, Screen.currentResolution.height, fullscreen: true);
            }
            break;

        case GUIUtil.GUIState.Hover:
        case (GUIUtil.GUIState) 18:
        case (GUIUtil.GUIState) 20:
        case (GUIUtil.GUIState) 34:
        case (GUIUtil.GUIState) 36:
            if (Event.current.type == EventType.Repaint)
            {
                curhover = "FullScreen";
                if (lastHover != curhover)
                {
                    GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over);
                }
            }
            break;
        }
        switch (GUIUtil.Toggle(new Rect(screenSpace.width - 239f, screenSpace.height - 20f, 115f, 16f), GameData.MyFactionId == 2, GUIContent.none, "Options"))
        {
        case GUIUtil.GUIState.Click:
        case (GUIUtil.GUIState) 24:
        case (GUIUtil.GUIState) 40:
            curhover = "Options";
            GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press);
            DynamicOptions.bDrawing = true;
            FirstUse.DoAction(FirstUse.Frame.RequiredAction.Open_Options);
            break;

        case GUIUtil.GUIState.Hover:
        case (GUIUtil.GUIState) 18:
        case (GUIUtil.GUIState) 20:
        case (GUIUtil.GUIState) 34:
        case (GUIUtil.GUIState) 36:
            if (Event.current.type == EventType.Repaint)
            {
                curhover = "Options";
                if (lastHover != curhover)
                {
                    GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over);
                }
            }
            break;
        }
        if (bAllowSocial)
        {
            GUI.Box(new Rect(screenSpace.width - 362f, screenSpace.height - 20f, 4f, 16f), GUIContent.none, "Separator");
            switch (GUIUtil.Toggle(new Rect(screenSpace.width - 358f, screenSpace.height - 20f, 115f, 16f), GameData.MyFactionId == 2, GUIContent.none, "Friends"))
            {
            case GUIUtil.GUIState.Click:
            case (GUIUtil.GUIState) 24:
            case (GUIUtil.GUIState) 40:
                curhover = "Friends";
                GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press);
                bDrawFriends = !bDrawFriends;
                FirstUse.DoAction(FirstUse.Frame.RequiredAction.Open_Options);
                break;

            case GUIUtil.GUIState.Hover:
            case (GUIUtil.GUIState) 18:
            case (GUIUtil.GUIState) 20:
            case (GUIUtil.GUIState) 34:
            case (GUIUtil.GUIState) 36:
                if (Event.current.type == EventType.Repaint)
                {
                    curhover = "Friends";
                    if (lastHover != curhover)
                    {
                        GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over);
                    }
                }
                break;
            }
        }
        if (battleType > 0 && !m_connected)
        {
            GameObject    gameObject    = GameObject.Find("Tracker");
            TrackerScript trackerScript = gameObject.GetComponent("TrackerScript") as TrackerScript;
            GameData.ConsecutiveGames = 0;
            trackerScript.AddMetric((battleType != 1) ? TrackerScript.Metric.REQUEST_TEAM_BATTLE : TrackerScript.Metric.REQUEST_BATTLE);
            trackerScript.updateMetricStats();
            GameData.BattleType      = battleType;
            GameData.IsChooserActive = false;
            Debug.Log("requesting battletype " + battleType);
            Connect();
        }
        GUI.EndGroup();
        if (m_DrawHolidayEvent != null)
        {
            m_DrawHolidayEvent();
        }
        if (m_isLogin)
        {
            GUI.Label(new Rect(10f, 90f, 90f, 100f), "TegId: ");
            GameData.MyTEGid = GUI.TextField(new Rect(100f, 90f, 150f, 20f), GameData.MyTEGid);
            GUI.Label(new Rect(270f, 90f, 90f, 100f), "AuthId: ");
            GameData.MyAuthid     = GUI.TextField(new Rect(370f, 90f, 200f, 20f), GameData.MyAuthid);
            GameData.MyPlayStatus = 3;
        }
        GUI.DrawTexture(BlackBox1, GUI.skin.GetStyle("blackbox").normal.background);
        GUI.DrawTexture(BlackBox2, GUI.skin.GetStyle("blackbox").normal.background);
        if (bAllowSocial && bDrawFriends && !DynamicOptions.bDrawing)
        {
            FriendsWindow.x = screenSpace.width - 358f;
            FriendsWindow.y = screenSpace.height - FriendsWindow.height - 27f;
            GUI.Window(1700, FriendsWindow, DrawFriendsList, GUIContent.none);
        }
        lastHover = curhover;
    }
    private void DoWindow(int id)
    {
        curhover = ((Event.current.type != EventType.Repaint) ? lastHover : string.Empty);
        GUI.skin = mSharedSkin;
        if (mSetInputIndex != -1)
        {
            GUIUtil.GUIEnable(bEnable: false);
        }
        GUI.Label(new Rect(width / 2f - 125f, 5f, 250f, 30f), "OPTIONS MENU", "OptionsLabel");
        bool gUIEnabled = GUIUtil.GUIEnabled;

        if (GameData.CurPlayState == GameData.PlayState.GAME_STARTED || GameData.CurPlayState == GameData.PlayState.GAME_IS_PLAYING)
        {
            GUIUtil.GUIEnableOverride(bEnable: false);
        }
        GUI.BeginGroup(ControlsRect, "CONTROLS", "OptionsBase");
        for (int i = 0; i < mControlNames.Length; i++)
        {
            Rect position = new Rect(5f, 5 + i * 40, ControlsRect.width - 10f, 35f);
            if (mSetInputIndex == i)
            {
                GUI.color = Color.white;
                if (Input.GetKeyUp(KeyCode.Escape))
                {
                    break;
                }
                for (int j = 0; j < 410; j++)
                {
                    if (!Input.GetKeyUp((KeyCode)j))
                    {
                        continue;
                    }
                    GameData.mGameSettings.mControlValues[mSetInputIndex] = (KeyCode)j;
                    for (int k = 0; k < GameData.mGameSettings.mControlValues.Length; k++)
                    {
                        if (k != mSetInputIndex && GameData.mGameSettings.mControlValues[k] == GameData.mGameSettings.mControlValues[mSetInputIndex])
                        {
                            GameData.mGameSettings.mControlValues[k] = KeyCode.None;
                        }
                    }
                    mSetInputIndex = -1;
                    SaveOptions();
                    break;
                }
                GUI.color = Color.white;
                bool gUIEnabled2 = GUIUtil.GUIEnabled;
                GUIUtil.GUIEnableOverride(bEnable: true);
                Rect position2 = new Rect(position.x - 5f, position.y - 45f, position.width + 10f, position.height + 50f);
                GUI.Box(position2, "SET CONTROL", "MapKeyFrame");
                GUI.Label(position2, "PRESS ANY BUTTON TO SET AS INPUT", "MapKeyInstructions");
                GUIUtil.GUIEnableOverride(gUIEnabled2);
            }
            else if (GameData.mGameSettings.mControlValues[i] == KeyCode.None)
            {
                GUI.color = Color.red;
            }
            else
            {
                GUI.color = Color.white;
            }
            GUI.BeginGroup(position);
            if (!GUI.enabled)
            {
                GUI.color        = Color.gray;
                GUI.contentColor = Color.black;
            }
            switch (GUIUtil.Button(new Rect(0f, 0f, position.width, position.height), mControlNames[i], "ControlObject"))
            {
            case GUIUtil.GUIState.Hover:
            case GUIUtil.GUIState.Active:
                if (Event.current.type == EventType.Repaint)
                {
                    curhover = "Control " + i;
                    if (lastHover != curhover)
                    {
                        GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over);
                    }
                }
                break;

            case GUIUtil.GUIState.Click:
                GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press);
                Input.ResetInputAxes();
                mSetInputIndex = i;
                break;
            }
            switch (GameData.mGameSettings.mControlValues[i])
            {
            case KeyCode.Mouse0:
                GUI.DrawTexture(new Rect(190 - MouseButtons[0].width / 2, 35 - MouseButtons[0].height, MouseButtons[0].width, MouseButtons[0].height), MouseButtons[0]);
                break;

            case KeyCode.Mouse1:
                GUI.DrawTexture(new Rect(190 - MouseButtons[0].width / 2, 35 - MouseButtons[1].height, MouseButtons[1].width, MouseButtons[1].height), MouseButtons[1]);
                break;

            default:
            {
                GUIStyle style    = mSharedSkin.GetStyle("KeyControl");
                float    minWidth = 0f;
                float    maxWidth = 0f;
                string   text     = GameData.mGameSettings.mControlValues[i].ToString().ToUpper();
                style.CalcMinMaxWidth(new GUIContent(text), out minWidth, out maxWidth);
                minWidth = Mathf.Max(30f, minWidth);
                GUI.Box(new Rect(190f - minWidth / 2f, 5f, minWidth, 25f), text, style);
                break;
            }
            }
            GUI.EndGroup();
        }
        GUI.color        = Color.white;
        GUI.contentColor = Color.white;
        switch (GUIUtil.Button(new Rect(5f, ControlsRect.height - 30f, ControlsRect.width - 10f, 25f), "RESTORE DEFAULT CONTROLS", "KeyControl"))
        {
        case GUIUtil.GUIState.Hover:
        case GUIUtil.GUIState.Active:
            if (Event.current.type == EventType.Repaint)
            {
                curhover = "RESTORE DEFAULT CONTROLS";
                if (lastHover != curhover)
                {
                    GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over);
                }
            }
            break;

        case GUIUtil.GUIState.Click:
            GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press);
            GameData.mGameSettings.mControlValues = (KeyCode[])mDefaultControls.Clone();
            SaveOptions();
            break;
        }
        GUI.EndGroup();
        GUIUtil.GUIEnableOverride(gUIEnabled);
        didrepeat = (Event.current.type != EventType.Repaint && clickRepeat);
        GUI.BeginGroup(SoundRect, "SOUND", "OptionsBase");
        GUI.Label(new Rect(0f, 5f, SoundRect.width, 15f), "SOUND EFFECTS VOLUME", "OptionsInfo");
        float num = DrawSlider(SoundRect, GameData.mGameSettings.mSoundVolume);

        if (num != GameData.mGameSettings.mSoundVolume)
        {
            num = Mathf.Clamp(num, 0f, 1f);
            GameData.mGameSettings.mSoundVolume = num;
            GameData.ApplySoundSettings();
            SaveOptions();
        }
        GUI.EndGroup();
        GUI.BeginGroup(MusicRect, GUIContent.none, "OptionsBase");
        GUI.Label(new Rect(0f, 5f, MusicRect.width, 15f), "MUSIC VOLUME", "OptionsInfo");
        float num2 = DrawSlider(MusicRect, GameData.mGameSettings.mMusicVolume);

        if (num2 != GameData.mGameSettings.mMusicVolume)
        {
            num2 = Mathf.Clamp(num2, 0f, 1f);
            GameData.mGameSettings.mMusicVolume = num2;
            GameData.ApplyMusicSettings();
            SaveOptions();
        }
        GUI.EndGroup();
        clickRepeat = didrepeat;
        if (Event.current.type == EventType.Repaint && !bDown)
        {
            TimeHeld = 0f;
        }
        bDown = false;
        GUI.BeginGroup(GraphicsRect, "GRAPHICS", "OptionsBase");
        GUI.BeginGroup(new Rect(0.5f * (GraphicsRect.width - 282f), 5f, 282f, 78f), GUIContent.none, "GraphicsSliderBG");
        Settings.GraphicsLevel graphicsLevel = GameData.mGameSettings.mGraphicsLevel;
        switch (GUIUtil.Button(new Rect(0f, 0f, 41f, 46f), GUIContent.none, GUIStyle.none))
        {
        case GUIUtil.GUIState.Hover:
        case GUIUtil.GUIState.Active:
            if (Event.current.type == EventType.Repaint)
            {
                curhover = "Low Graphics";
                if (lastHover != curhover)
                {
                    GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over);
                }
            }
            break;

        case GUIUtil.GUIState.Click:
            GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press);
            graphicsLevel = Settings.GraphicsLevel.Low;
            break;
        }
        switch (GUIUtil.Button(new Rect(120.5f, 0f, 41f, 46f), GUIContent.none, GUIStyle.none))
        {
        case GUIUtil.GUIState.Hover:
        case GUIUtil.GUIState.Active:
            if (Event.current.type == EventType.Repaint)
            {
                curhover = "Medium Graphics";
                if (lastHover != curhover)
                {
                    GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over);
                }
            }
            break;

        case GUIUtil.GUIState.Click:
            GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press);
            graphicsLevel = Settings.GraphicsLevel.Medium;
            break;
        }
        switch (GUIUtil.Button(new Rect(241f, 0f, 41f, 46f), GUIContent.none, GUIStyle.none))
        {
        case GUIUtil.GUIState.Hover:
        case GUIUtil.GUIState.Active:
            if (Event.current.type == EventType.Repaint)
            {
                curhover = "High Graphics";
                if (lastHover != curhover)
                {
                    GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over);
                }
            }
            break;

        case GUIUtil.GUIState.Click:
            GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press);
            graphicsLevel = Settings.GraphicsLevel.High;
            break;
        }
        if (graphicsLevel != GameData.mGameSettings.mGraphicsLevel)
        {
            GameData.mGameSettings.mGraphicsLevel = graphicsLevel;
            SaveOptions();
            if (GameData.CurPlayState == GameData.PlayState.GAME_STARTED || GameData.CurPlayState == GameData.PlayState.GAME_IS_PLAYING)
            {
                QualitySettings.currentLevel = (QualityLevel)GameData.mGameSettings.mGraphicsLevel;
            }
            else
            {
                QualitySettings.currentLevel = (QualityLevel)(3 + GameData.mGameSettings.mGraphicsLevel);
            }
        }
        GUI.Toggle(new Rect(0f, 0f, 41f, 46f), GameData.mGameSettings.mGraphicsLevel == Settings.GraphicsLevel.Low, "LOW", "GraphicsSliderButton");
        GUI.Toggle(new Rect(120.5f, 0f, 41f, 46f), GameData.mGameSettings.mGraphicsLevel == Settings.GraphicsLevel.Medium, "MEDIUM", "GraphicsSliderButton");
        GUI.Toggle(new Rect(241f, 0f, 41f, 46f), GameData.mGameSettings.mGraphicsLevel == Settings.GraphicsLevel.High, "HIGH", "GraphicsSliderButton");
        GUI.EndGroup();
        GUI.EndGroup();
        GUI.BeginGroup(FullScreenRect, GUIContent.none, "OptionsBase");
        bool gUIEnabled3 = GUIUtil.GUIEnabled;

        switch (GUIUtil.Toggle(new Rect(10f, 10f, (FullScreenRect.width - 30f) / 2f, 35f), !Screen.fullScreen, "PLAY IN BROWSER", "PlayBrowser"))
        {
        case (GUIUtil.GUIState) 18:
        case (GUIUtil.GUIState) 20:
        case (GUIUtil.GUIState) 34:
        case (GUIUtil.GUIState) 36:
            if (Event.current.type == EventType.Repaint)
            {
                curhover = "PLAY IN BROWSER";
                if (lastHover != curhover)
                {
                    GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over);
                }
            }
            break;

        case (GUIUtil.GUIState) 24:
            Screen.SetResolution(900, 600, fullscreen: false);
            break;
        }
        GUIUtil.Toggle(new Rect((FullScreenRect.width - 30f) / 2f - 25f, 17f, 28f, 21f), !Screen.fullScreen, GUIContent.none, "ScreenDongleBrowser");
        GUIUtil.GUIEnableOverride(mSetInputIndex == -1 && bCanFullscreen);
        if (!GUI.enabled)
        {
            GUI.color = Color.gray;
        }
        switch (GUIUtil.Toggle(new Rect((FullScreenRect.width - 30f) / 2f + 20f, 10f, (FullScreenRect.width - 30f) / 2f, 35f), Screen.fullScreen, "PLAY FULLSCREEN", "PlayFullScreen"))
        {
        case (GUIUtil.GUIState) 18:
        case (GUIUtil.GUIState) 20:
        case (GUIUtil.GUIState) 34:
        case (GUIUtil.GUIState) 36:
            if (Event.current.type == EventType.Repaint)
            {
                curhover = "FULLSCREEN";
                if (lastHover != curhover)
                {
                    GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over);
                }
            }
            break;

        case (GUIUtil.GUIState) 24:
            Screen.SetResolution(Screen.currentResolution.width, Screen.currentResolution.height, fullscreen: true);
            break;
        }
        GUIUtil.Toggle(new Rect((FullScreenRect.width - 30f) / 2f + 25f, 17f, 28f, 21f), Screen.fullScreen, GUIContent.none, "ScreenDongleFullScreen");
        GUIUtil.GUIEnableOverride(gUIEnabled3);
        GUI.color = Color.white;
        GUI.EndGroup();
        gUIEnabled3 = GUIUtil.GUIEnabled;
        GUIUtil.GUIEnableOverride(mSetInputIndex == -1 && Application.loadedLevelName == "GameHome");
        switch (GUIUtil.Button(new Rect(20f, height - 48f, 120f, 38f), "BOOT CAMP", "ModalButton"))
        {
        case GUIUtil.GUIState.Hover:
        case GUIUtil.GUIState.Active:
            if (Event.current.type == EventType.Repaint)
            {
                curhover = "BOOT CAMP";
                if (lastHover != curhover)
                {
                    GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over);
                }
            }
            break;

        case GUIUtil.GUIState.Click:
        {
            GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press);
            bDrawing = false;
            GameData.MyTutorialStep = 0;
            GameObject gameObject = GameObject.Find("homeGUI");
            if (gameObject != null)
            {
                GameHome gameHome = gameObject.GetComponent("GameHome") as GameHome;
                if (gameHome != null)
                {
                    gameHome.CheckTutorial(bOverride: true);
                }
            }
            break;
        }
        }
        GUIUtil.GUIEnableOverride(gUIEnabled3);
        switch (GUIUtil.Button(new Rect(width - 140f, height - 48f, 120f, 38f), "CLOSE", "ModalButton"))
        {
        case GUIUtil.GUIState.Hover:
        case GUIUtil.GUIState.Active:
            if (Event.current.type == EventType.Repaint)
            {
                curhover = "CLOSE";
                if (lastHover != curhover)
                {
                    GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over);
                }
            }
            break;

        case GUIUtil.GUIState.Click:
            GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press);
            FirstUse.DoAction(FirstUse.Frame.RequiredAction.Close_Options);
            bDrawing       = false;
            mSetInputIndex = -1;
            break;
        }
        gUIEnabled3 = GUIUtil.GUIEnabled;
        GUIUtil.GUIEnableOverride(mSetInputIndex == -1 && (GameData.CurPlayState == GameData.PlayState.GAME_STARTED || GameData.CurPlayState == GameData.PlayState.GAME_IS_PLAYING));
        switch (GUIUtil.Button(new Rect(width / 2f - 60f, height - 48f, 120f, 38f), (GameData.MyTutorialStep <= 0) ? "QUIT MATCH" : "SKIP TRAINING", "ModalButton"))
        {
        case GUIUtil.GUIState.Hover:
        case GUIUtil.GUIState.Active:
            if (Event.current.type == EventType.Repaint)
            {
                curhover = "QUIT MATCH";
                if (lastHover != curhover)
                {
                    GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Over);
                }
            }
            break;

        case GUIUtil.GUIState.Click:
        {
            GUIUtil.PlayGUISound(GUIUtil.GUISoundClips.TT_Global_Button_Press);
            bDrawing = false;
            GameObject x = GameObject.Find("Game");
            if (x != null)
            {
                GamePlay gamePlayScript = GamePlay.GetGamePlayScript();
                if (gamePlayScript != null)
                {
                    gamePlayScript.QuitGame(6);
                }
            }
            break;
        }
        }
        GUIUtil.GUIEnableOverride(gUIEnabled3);
        lastHover = curhover;
    }
    private void OnGUI()
    {
        if (Event.current.type == EventType.KeyUp && Event.current.keyCode == KeyCode.Escape)
        {
            if (mSetInputIndex == -1)
            {
                bDrawing = !bDrawing;
                if (bDrawing)
                {
                    FirstUse.DoAction(FirstUse.Frame.RequiredAction.Open_Options);
                }
                else
                {
                    FirstUse.DoAction(FirstUse.Frame.RequiredAction.Close_Options);
                }
            }
            mSetInputIndex = -1;
        }
        if (bDrawing && FirstUse.mInstance != null && GameData.MyTutorialStep == 1 && FirstUse.mInstance.GetFrame().mAction != FirstUse.Frame.RequiredAction.Open_Options && FirstUse.mInstance.GetFrame().mAction != FirstUse.Frame.RequiredAction.Close_Options)
        {
            Debug.Log(FirstUse.mInstance.mCurrentFrame + " " + FirstUse.mInstance.GetFrame().mAction);
            bDrawing = false;
        }
        GUI.depth = 0;
        if (bDrawing)
        {
            GamePlay.mPauseScreenActive = true;
            Screen.showCursor           = true;
            GUIUtil.OnDrawWindow();
            GUI.Window(1500, new Rect(((float)Screen.width - width) / 2f, ((float)Screen.height - height) / 2f, width, height), DoWindow, GUIContent.none, mSharedSkin.window);
        }
        else
        {
            GamePlay.mPauseScreenActive = false;
        }
        Vector2 point = Input.mousePosition;

        point.y = (float)Screen.height - point.y;
        if (point.x > (float)Screen.width || point.x < 0f || point.y > (float)Screen.height || point.y < 0f)
        {
            Screen.showCursor = true;
            bDrawCursor       = false;
        }
        else
        {
            Screen.showCursor = false;
        }
        if (bDrawing && new Rect(((float)Screen.width - width) / 2f, ((float)Screen.height - height) / 2f, width, height).Contains(point))
        {
            bDrawCursor = true;
        }
        if (GUIUtil.Tooltip != string.Empty)
        {
            Vector2 vector = mSharedSkin.GetStyle("ToolTip").CalcSize(new GUIContent(GUIUtil.Tooltip));
            vector.x = Mathf.Min(vector.x, 200f);
            vector.y = mSharedSkin.GetStyle("ToolTip").CalcHeight(new GUIContent(GUIUtil.Tooltip), vector.x);
            Rect position = new Rect(new Rect(point.x + 25f, point.y, vector.x, vector.y));
            if (point.x + position.width + 30f > (float)Screen.width)
            {
                position.x -= vector.x + 50f;
            }
            if (point.y + position.height + 5f > (float)Screen.height)
            {
                position.y = (float)Screen.height - (vector.y + 5f);
            }
            GUI.Box(position, GUIUtil.Tooltip, mSharedSkin.GetStyle("ToolTip"));
            GUIUtil.Tooltip = string.Empty;
        }
        if (bAppFocus)
        {
            if (bDrawCursor)
            {
                GUI.DrawTexture(new Rect(point.x, point.y, mCursorTexture.width, mCursorTexture.height), mCursorTexture);
            }
        }
        else
        {
            Screen.showCursor = true;
        }
    }