//---------------------------------------------------------------------------------------------------------------------- void InitMaxMemoryForImagesField(VisualElement parent) { //Prepare objects for binding SISUserSettings userSettings = SISUserSettings.GetInstance(); m_maxMemoryForImagesScriptableObject = ScriptableObject.CreateInstance <IntScriptableObject>(); m_maxMemoryForImagesScriptableObject.Value = userSettings.GetMaxImagesMemoryMB(); SerializedObject maxMemoryForImagesSerializedObject = new SerializedObject(m_maxMemoryForImagesScriptableObject); int maxImagesMemoryMB = userSettings.GetMaxImagesMemoryMB(); VisualElement fieldContainer = UIElementsUtility.AddElement <VisualElement>(parent, /*className=*/ "slider-field-container"); //Slider m_maxMemoryForImagesSliderInt = UIElementsUtility.AddField <SliderInt, int>(fieldContainer, Contents.MAX_MEMORY_FOR_IMAGES_MB, maxImagesMemoryMB); m_maxMemoryForImagesSliderInt.lowValue = 4096; m_maxMemoryForImagesSliderInt.highValue = 131072; m_maxMemoryForImagesSliderInt.bindingPath = nameof(IntScriptableObject.Value); m_maxMemoryForImagesSliderInt.Bind(maxMemoryForImagesSerializedObject); //IntField m_maxMemoryForImagesIntField = UIElementsUtility.AddField <IntegerField, int>(fieldContainer, null, maxImagesMemoryMB); m_maxMemoryForImagesIntField.bindingPath = nameof(IntScriptableObject.Value); m_maxMemoryForImagesIntField.Bind(maxMemoryForImagesSerializedObject); Label sliderIntValuePostLabel = UIElementsUtility.AddElement <Label>(fieldContainer); sliderIntValuePostLabel.text = "MB "; m_maxMemoryForImagesIntField.RegisterValueChangedCallback((ChangeEvent <int> evt) => { userSettings.SetMaxImagesMemoryMB(evt.newValue); userSettings.SaveUserSettings(); }); }
static void SISUserSettings_OnLoadRuntime() { SISUserSettings userSettings = GetInstance(); StreamingImageSequencePlugin.SetMaxImagesMemory(userSettings.GetMaxImagesMemoryMB()); }