Beispiel #1
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;
            }
        }
Beispiel #2
0
 private static ArcenUI_CreateElementDirective AddDropdown(ArcenUI_SetOfCreateElementDirectives Set, Type ControllerType, int CodeDirectiveTag, Rect rect)
 {
     return(_AddBase(DROPDOWN_PREFAB_NAME, Set, ControllerType, CodeDirectiveTag, rect));
 }
Beispiel #3
0
 private static ArcenUI_CreateElementDirective AddHorizontalSlider(ArcenUI_SetOfCreateElementDirectives Set, Type ControllerType, int CodeDirectiveTag, Rect rect)
 {
     return(_AddBase(HORIZONTAL_SLIDER_PREFAB_NAME, Set, ControllerType, CodeDirectiveTag, rect));
 }
Beispiel #4
0
 private static ArcenUI_CreateElementDirective AddInput(ArcenUI_SetOfCreateElementDirectives Set, Type ControllerType, int CodeDirectiveTag, Rect rect)
 {
     return(_AddBase(INPUT_PREFAB_NAME, Set, ControllerType, CodeDirectiveTag, rect));
 }
Beispiel #5
0
 private static ArcenUI_CreateElementDirective _AddBase(string prefabName, ArcenUI_SetOfCreateElementDirectives Set, Type ControllerType, int CodeDirectiveTag, Rect rect)
 {
     return(Set.GetNextFree(prefabName, ControllerType, CodeDirectiveTag, rect.x, rect.y, rect.width, rect.height));
 }
 public virtual void PopulateFreeFormControls(ArcenUI_SetOfCreateElementDirectives Set)
 {
 }