void Start()
 {
     current_setter  = this;
     controller      = ReInput.controllers.GetController(ControllerType.Keyboard, 0);
     temp_controller = ReInput.controllers.GetController(ControllerType.Keyboard, 0);
     LoadControllerList();
     UpdateChildren();
 }
Example #2
0
    /// <summary>
    /// Draws keys definition in specified location.
    /// </summary>
    /// <param name="panelWidth">Panel width.</param>
    /// <param name="panelHeight">Panel height.</param>
    /// <param name="rowHeight">Row height.</param>
    /// <param name="rowOffset">Distance between 2 rows (Including rowHeight).</param>
    private void drawDefineKeys(float panelWidth, float panelHeight, float rowHeight, float rowOffset)
    {
        int cur=0;

        for (int i=0; i<controlSetters.Count; ++i)
        {
            GUI.Label(new Rect(0, rowOffset*cur, panelWidth*0.4f, rowHeight), localizationKeys[i], currentTextStyle(cur));

            if (controlSetters[i].draw(new Rect(panelWidth*0.45f, rowOffset*cur, panelWidth*0.55f, rowHeight)))
            {
                selectedControlSetter=controlSetters[i];
            }
            else
            {
                if (selectedControlSetter==controlSetters[i])
                {
                    selectedControlSetter=null;
                }
            }

            ++cur;
        }

        if (drawButton(localizationBack, panelWidth, panelHeight, rowHeight, rowOffset, cur))
        {
            selectItem(cur);
        }
    }
Example #3
0
    // Use this for initialization
    void Start()
    {
        #region Create text styles
        saveTextStyle=new GUIStyle();

        saveTextStyle.alignment=TextAnchor.UpperLeft;
        saveTextStyle.wordWrap=true;
        saveTextStyle.clipping=TextClipping.Clip;
        saveTextStyle.normal.textColor=Color.white;
        #endregion

        #region Game
#if OPTION_LANGUAGE
        List<CultureInfo> availableLanguages=LanguageManager.Instance.AvailableLanguagesCultureInfo;
        string[] languages=new string[availableLanguages.Count];

        for (int i=0; i<availableLanguages.Count; ++i)
        {
            languages[i]=availableLanguages[i].EnglishName;
        }

        languageScroller=new SelectionScroller(languages, 0, scrollerLeftTexture, scrollerRightTexture);
        languageScroller.setModifiedFunction(settingsModified);
#endif

#if OPTION_DIFFICULTY
        difficultyScroller=new SelectionScroller(null, 0, scrollerLeftTexture, scrollerRightTexture);
        difficultyScroller.setModifiedFunction(settingsModified);
#endif

#if OPTION_BLOOD
        bloodCheckBox=new BigCheckBox(checkboxOnTexture, checkboxOffTexture);
        bloodCheckBox.setModifiedFunction(settingsModified);
#endif

#if OPTION_USE_HINTS
        useHintsCheckBox=new BigCheckBox(checkboxOnTexture, checkboxOffTexture);
        useHintsCheckBox.setModifiedFunction(settingsModified);
#endif

#if OPTION_AUTOSAVE
        autosaveCheckBox=new BigCheckBox(checkboxOnTexture, checkboxOffTexture);
        autosaveCheckBox.setModifiedFunction(settingsModified);
#endif
        #endregion

        #region Audio
#if OPTION_SOUND
        soundCheckBox=new BigCheckBox(checkboxOnTexture, checkboxOffTexture);
        soundCheckBox.setModifiedFunction(settingsModified);
#endif

#if OPTION_MASTER_VOLUME
        masterVolumeSlider  = new BigHorizontalSlider(mMasterVolume,  0f, 1f);
        masterVolumeSlider.setModifiedFunction (settingsModified);
#endif

#if OPTION_MUSIC_VOLUME
        musicVolumeSlider   = new BigHorizontalSlider(mMusicVolume,   0f, 1f);
        musicVolumeSlider.setModifiedFunction  (settingsModified);
#endif

#if OPTION_VOICE_VOLUME
        voiceVolumeSlider   = new BigHorizontalSlider(mVoiceVolume,   0f, 1f);
        voiceVolumeSlider.setModifiedFunction(settingsModified);
#endif

#if OPTION_EFFECTS_VOLUME
        effectsVolumeSlider = new BigHorizontalSlider(mEffectsVolume, 0f, 1f);
        effectsVolumeSlider.setModifiedFunction(settingsModified);
#endif

#if OPTION_SUBTITLES
        subtitlesCheckBox=new BigCheckBox(checkboxOnTexture, checkboxOffTexture);
        subtitlesCheckBox.setModifiedFunction(settingsModified);
#endif
        #endregion

        #region Video
#if OPTION_SHOW_FPS
        showFPSCheckBox=new BigCheckBox(checkboxOnTexture, checkboxOffTexture);
        showFPSCheckBox.setModifiedFunction(settingsModified);
#endif

#if OPTION_FULL_SCREEN_AND_RESOLUTION
        fullScreenCheckBox=new BigCheckBox(checkboxOnTexture, checkboxOffTexture);
        fullScreenCheckBox.setModifiedFunction(settingsModified);

        Resolution[] availableResolutions=Screen.resolutions;
        string[] resolutions=new string[availableResolutions.Length];

        for (int i=0; i<availableResolutions.Length; ++i)
        {
            Resolution resolution=availableResolutions[i];

            resolutions[i]=resolution.width.ToString()+"x"+resolution.height.ToString()+" : "+resolution.refreshRate.ToString()+" Hz";
        }

        resolutionScroller=new SelectionScroller(resolutions, 0, scrollerLeftTexture, scrollerRightTexture);
        resolutionScroller.setModifiedFunction(settingsModified);
#endif

#if OPTION_QUALITY
        qualityScroller=new SelectionScroller(null, 0, scrollerLeftTexture, scrollerRightTexture);
        qualityScroller.setModifiedFunction(settingsModified);
#endif
        #endregion

        #region Controls
#if MENU_DEFINE_KEYS
        selectedControlSetter=null;
        controlSetters=new List<ControlSetter>();

        for (int i=0; i<InputControl.getKeys().Count; ++i)
        {
            ControlSetter controlSetter=new ControlSetter();
            controlSetter.setModifiedFunction(settingsModified);
            controlSetters.Add(controlSetter);
        }

        localizationKeys=new List<string>();
#endif

#if OPTION_ALWAYS_RUN
        alwaysRunCheckBox=new BigCheckBox(checkboxOnTexture, checkboxOffTexture);
        alwaysRunCheckBox.setModifiedFunction(settingsModified);
#endif

#if OPTION_AUTO_AIM
        autoAimCheckBox=new BigCheckBox(checkboxOnTexture, checkboxOffTexture);
        autoAimCheckBox.setModifiedFunction(settingsModified);
#endif

#if OPTION_MOUSE_SENSITIVITY
        mouseSensitivitySlider=new BigHorizontalSlider(mMouseSensitivity, 0f, mouseSensitivityMaximum);
        mouseSensitivitySlider.setModifiedFunction(settingsModified);
#endif

#if OPTION_INVERT_MOUSE_Y
        invertMouseYCheckBox=new BigCheckBox(checkboxOnTexture, checkboxOffTexture);
        invertMouseYCheckBox.setModifiedFunction(settingsModified);
#endif

#if OPTION_INPUT_DEVICE
        inputDeviceScroller=new SelectionScroller(null, 0, scrollerLeftTexture, scrollerRightTexture);
        inputDeviceScroller.setModifiedFunction(settingsModified);
#endif
        #endregion

        #region Localization
#if PACKAGE_SMART_LOCALIZATION
        LanguageManager languageManager=LanguageManager.Instance;
        languageManager.OnChangeLanguage+=OnChangeLanguage;
        OnChangeLanguage(languageManager);
#else
        OnChangeLanguage();
#endif
        #endregion

        modified  = false;
        askSaving = false;

        goToOptionsList(0);
    }
Example #4
0
    // Update is called once per frame
    void Update()
    {
#if MENU_DEFINE_KEYS
        if (selectedControlSetter!=null)
        {
            if (Input.GetKeyDown(KeyCode.Escape))
            {
                selectedControlSetter.setSelectedKey(null);
                selectedControlSetter=null;
            }
            else
            {
                CustomInput input=InputControl.currentInput();

                if (input!=null)
                {
                    selectedControlSetter.setSelectedKey(input);
                    selectedControlSetter=null;
                }
            }
        }
        else
        {
#endif
            if (Input.GetKeyDown(KeyCode.Escape))
            {
                goBack();
            }
            else
            if (Input.GetKeyDown(KeyCode.UpArrow))
            {
                if (!askSaving && currentItem>0)
                {
                    --currentItem;

                    float rowHeight   = Screen.height*0.1f;
                    float rowOffset   = rowHeight+Screen.height*0.025f;

                    float itemTop=currentItem*rowOffset;

                    if (scrollPosition.y>itemTop)
                    {
                        scrollPosition.y=itemTop;
                    }
                }
            }
            else
            if (Input.GetKeyDown(KeyCode.DownArrow))
            {
                if (!askSaving && currentItem<itemsCount-1)
                {
                    ++currentItem;

                    float boxHeight   = Screen.height*0.9f;
                    float panelHeight = boxHeight*0.98f;
                    float rowHeight   = Screen.height*0.1f;
                    float rowOffset   = rowHeight+Screen.height*0.025f;

                    float itemBottom=currentItem*rowOffset+rowHeight;

                    if (scrollPosition.y+panelHeight<itemBottom)
                    {
                        scrollPosition.y=itemBottom-panelHeight;
                    }
                }
            }
            else
            if (
                Input.GetKeyDown(KeyCode.Return)
                ||
                Input.GetKeyDown(KeyCode.KeypadEnter)
               )
            {
                if (askSaving)
                {
                    applyChanges();
                    goToNextStep();
                }
                else
                {
                    selectItem(currentItem);
                }
            }
            else
            {
                if (!askSaving)
                {
                    controlItem();
                }
            }
#if MENU_DEFINE_KEYS
        }
#endif
    }