private void HandleOptionUpdated(params object[] args)
    {
        Option option = (Option)args[0];

        //Debug.Log(option.name + " updated!");
        switch (option.myType)
        {
        case Option.OptionType.Slider:
            Option.Slider slider = option.mySlider;
            switch (option.name)
            {
            case "Forward/Backward Speed":
                playerControl.movementForwardSpeed = slider.value;
                break;

            case "Rotation Speed":
                playerControl.rotationAmount = slider.value;
                break;

            case "Side Movement Speed":
                playerControl.sideMovementAmount = slider.value;
                break;

            case "Ascend/Descend Speed":
                playerControl.forceUpHover   = mediumForceHover + slider.value;
                playerControl.forceDownHover = mediumForceHover - slider.value;
                break;
            }
            break;

        case Option.OptionType.Toggle:
            Option.Toggle toggle = option.myToggle;
            switch (option.name)
            {
            case "Game Mode":
                notifier.Notify(toggle.value ? GameManager.ON_START_PLAY : GameManager.ON_START_FLY);
                break;
            }
            break;
        }
    }
Пример #2
0
    public void SetValues(Option option)
    {
        this.option = option;
        string name = option.name;

        switch (option.myType)
        {
        case Option.OptionType.Slider:
            Option.Slider sldr = option.mySlider;
            SetUIValues(name, sldr.minValue, sldr.maxValue, sldr.defValue);
            break;

        case Option.OptionType.Toggle:
            Option.Toggle tggl = option.myToggle;
            SetUIValues(name, tggl.defValue);
            break;
        }
        slider.onValueChanged.AddListener(delegate {
            SliderChangeValue(option.myType);
            notifier.Notify(OptionsInterface.ON_OPTION_UPDATED, this.option);
        });
    }