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; } }
private static ArcenUI_CreateElementDirective AddDropdown(ArcenUI_SetOfCreateElementDirectives Set, Type ControllerType, int CodeDirectiveTag, Rect rect) { return(_AddBase(DROPDOWN_PREFAB_NAME, Set, ControllerType, CodeDirectiveTag, rect)); }
private static ArcenUI_CreateElementDirective AddHorizontalSlider(ArcenUI_SetOfCreateElementDirectives Set, Type ControllerType, int CodeDirectiveTag, Rect rect) { return(_AddBase(HORIZONTAL_SLIDER_PREFAB_NAME, Set, ControllerType, CodeDirectiveTag, rect)); }
private static ArcenUI_CreateElementDirective AddInput(ArcenUI_SetOfCreateElementDirectives Set, Type ControllerType, int CodeDirectiveTag, Rect rect) { return(_AddBase(INPUT_PREFAB_NAME, Set, ControllerType, CodeDirectiveTag, rect)); }
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) { }