コード例 #1
0
            public override void OnUpdate()
            {
                ArcenSetting setting = GetSettingForController(this);

                if (setting == null)
                {
                    return;
                }

                float currentValue = setting.TempValue_Float;
                float range        = setting.MaxFloatValue - setting.MinFloatValue;

                if (range == 0)
                {
                    range = 1;
                }
                float currentPortion = (currentValue - setting.MinFloatValue) / range;

                ArcenUI_Slider elementAsType = (ArcenUI_Slider)Element;

                elementAsType.ReferenceSlider.value = currentPortion;
            }
コード例 #2
0
        public override void PopulateFreeFormControls(ArcenUI_SetOfCreateElementDirectives Set)
        {
            Rect scrollbarRect = ArcenRectangle.CreateUnityRect(mainAreaBounds.x - 2, mainAreaBounds.y + 2, 2, mainAreaBounds.height - 5);

            AddVerticalSlider(Set, typeof(sScrollbar), 0, scrollbarRect);

            int rowsToShow = GetMaxRowsToShow();

            int rowCount = ArcenSettingTable.Instance.VisibleRows.Count;

            if (sScrollbar.Instance != null)
            {
                int range = rowCount - rowsToShow;
                if (range <= 0)
                {
                    startingTableIndex = 0;
                }
                else
                {
                    ArcenUI_Slider slider = (ArcenUI_Slider)sScrollbar.Instance.Element;
                    startingTableIndex = Mathf.FloorToInt(range * slider.ReferenceSlider.value);
                }
            }

            float runningY = 3;

            Rect headerTextBounds = ArcenRectangle.CreateUnityRect(mainAreaBounds.xMin, runningY, 15, headerRowHeight);

            AddText(Set, typeof(tHeader), 0, headerTextBounds);

            Rect closeButtonBounds = ArcenRectangle.CreateUnityRect(headerTextBounds.xMax + 2, runningY, 10, headerRowHeight);

            AddButton(Set, typeof(bCancel), 0, closeButtonBounds);

            Rect saveButtonBounds = ArcenRectangle.CreateUnityRect(closeButtonBounds.xMax + 2, runningY, 10, headerRowHeight);

            AddButton(Set, typeof(bSave), 0, saveButtonBounds);

            Rect resetButtonBounds = ArcenRectangle.CreateUnityRect(saveButtonBounds.xMax + 2, runningY, 10, headerRowHeight);

            AddButton(Set, typeof(bReset), 0, resetButtonBounds);

            runningY += headerRowHeight;

            int rowsLeft = rowCount - startingTableIndex;

            rowsToShow = Math.Min(rowsLeft, rowsToShow);
            for (int i = 0; i < rowsToShow; i++)
            {
                ArcenSetting setting = ArcenSettingTable.Instance.VisibleRows[startingTableIndex + i];

                Rect nameBounds = ArcenRectangle.CreateUnityRect(mainAreaBounds.xMin, runningY, 50, rowHeight);
                AddText(Set, typeof(tSettingName), i, nameBounds);

                Rect valueSettingControlBounds = ArcenRectangle.CreateUnityRect(nameBounds.xMax, runningY, 15, rowHeight);
                switch (setting.Type)
                {
                case ArcenSettingType.BoolToggle:
                    AddButton(Set, typeof(bToggle), i, valueSettingControlBounds);
                    break;

                case ArcenSettingType.IntTextbox:
                    AddInput(Set, typeof(iIntInput), i, valueSettingControlBounds);
                    break;

                case ArcenSettingType.FloatSlider:
                    AddHorizontalSlider(Set, typeof(sFloatSlider), i, valueSettingControlBounds);
                    break;

                case ArcenSettingType.IntDropdown:
                    AddDropdown(Set, typeof(dIntDropdown), i, valueSettingControlBounds);
                    break;
                }

                Rect valueDescriptionBounds = ArcenRectangle.CreateUnityRect(valueSettingControlBounds.xMax, runningY, 30, rowHeight);
                AddText(Set, typeof(tSettingValueDescription), i, valueDescriptionBounds);

                runningY += rowHeight;
            }
        }
コード例 #3
0
 public virtual void DoAnyCustomSliderStuff(ArcenUI_Slider Slider)
 {
 }