public EyesModifierUI(MainUI ui) : base(ui, Utilities.AtomHasEyes) { saccade_ = new Collapsible("Saccade", null, Widget.Right); saccadeTime_ = new RandomizableTimeWidgets( "Saccade interval", Widget.Right); saccadeMin_ = new FloatSlider( "Saccade minimum (x10)", 0, new FloatRange(0, 1), SaccadeMinChanged, Widget.Right); saccadeMax_ = new FloatSlider( "Saccade maximum (x10)", 0, new FloatRange(0, 1), SaccadeMaxChanged, Widget.Right); minDistance_ = new FloatSlider( "Minimum distance (avoids cross-eyed)", 0, new FloatRange(0, 1), MinDistanceChanged, Widget.Right); focusDurationCollapsible_ = new Collapsible( "Focus time", null, Widget.Right); focusDuration_ = new RandomizableTimeWidgets( "Focus time", Widget.Right); gaze_ = new StringList( "MacGruber's Gaze", GazeChanged, Widget.Right); blink_ = new StringList("Blink", BlinkChanged, Widget.Right); addTarget_ = new Button("Add target", AddTarget, Widget.Right); previewsEnabled_ = new Checkbox( "Show previews", PreviewsChanged, Widget.Right); previewsAlpha_ = new FloatSlider( "Previews alpha", 0.3f, new FloatRange(0, 1), PreviewsAlphaChanged, Widget.Right); foreach (var w in saccadeTime_.GetWidgets()) { saccade_.Add(w); } saccade_.Add(saccadeMin_); saccade_.Add(saccadeMax_); saccade_.Add(new SmallSpacer(Widget.Right)); foreach (var w in focusDuration_.GetWidgets()) { focusDurationCollapsible_.Add(w); } focusDurationCollapsible_.Add(new SmallSpacer(Widget.Right)); }
public override void AddToTopUI(IModifier m) { base.AddToTopUI(m); modifier_ = m as AudioModifier; if (modifier_ == null) { return; } delayWidgets_.SetValue(modifier_.Delay); clips_.Value = modifier_.Clips; delayCollapsible_.Clear(); delayCollapsible_.Add(delayWidgets_.GetWidgets()); AddAtomWidgets(m); widgets_.AddToUI(playType_); playType_.Value = PlayTypeToString(modifier_.PlayType); delayCollapsible_.AddToUI(); widgets_.AddToUI(new SmallSpacer(Widget.Right)); widgets_.AddToUI(stop_); widgets_.AddToUI(clips_); }
private void UpdateWidgets() { if (!stale_) { return; } stale_ = false; collapsible_.Clear(); collapsible_.Add(delete_); collapsible_.Add(types_); collapsible_.Add(enabled_); var t = container_.Target; types_.Value = t; if (t is RigidbodyEyesTarget) { ui_ = new RigidbodyEyesTargetUI(this, container_); } else if (t is RandomEyesTarget) { ui_ = new RandomEyesTargetUI(this, container_); } else if (t is PlayerEyesTarget) { ui_ = new PlayerEyesTargetUI(this, container_); } else { ui_ = null; } if (ui_ != null) { foreach (var w in ui_.GetWidgets()) { collapsible_.Add(w); } } collapsible_.Add(new SmallSpacer(Widget.Right)); }
private void UpdateList() { collapsible_.Clear(); collapsible_.Add(browse_); var cm = URLAudioClipManager.singleton; if (cm != null) { var clips = cm.GetCategoryClips("web"); if (clips != null) { foreach (var c in clips) { AddClip(c); } } } }
public SelectedMorphWidget( MorphModifierUI ui, SelectedMorph sm, int flags = 0) { ui_ = ui; sm_ = sm; collapsible_ = new Collapsible(sm_.DisplayName, null, flags); enabled_ = new Checkbox("Enabled", EnabledChanged, flags); remove_ = new ConfirmableButton("Remove", Remove, flags); movementUI_ = new MovementUI(flags); enabled_.Parameter = sm_.EnabledParameter; movementUI_.SetValue(sm_.Movement, sm_.PreferredRange); collapsible_.Add(enabled_); collapsible_.Add(remove_); foreach (var w in movementUI_.GetWidgets()) { collapsible_.Add(w); } RenameCollapsible(); }
public override void AddToUI(IMorphProgression p) { base.AddToUI(p); progression_ = p as NaturalMorphProgression; if (progression_ == null) { return; } durationWidgets_.SetValue(progression_.Duration); delayWidgets_.SetValue(progression_.Delay); durationCollapsible_.Clear(); durationCollapsible_.Add(durationWidgets_.GetWidgets()); delayCollapsible_.Clear(); delayCollapsible_.Add(delayWidgets_.GetWidgets()); widgets_.AddToUI(durationCollapsible_); widgets_.AddToUI(delayCollapsible_); }
public LinkModifierControllerUI( LinkModifier m, LinkModifierController mc) { modifier_ = m; mc_ = mc; collapsible_ = new Collapsible(mc_.Name, null, Widget.Right); delete_ = new ConfirmableButton("Delete", Delete, Widget.Right); controller_ = new FreeControllerList( "Controller", mc_.ControllerName, ControllerChanged, Widget.Right); atom_ = new AtomList( "Link to atom", mc_.AtomName, AtomChanged, null, Widget.Right | Widget.AllowNone); rb_ = new LinkTargetList( "Link to", mc_.RigidbodyName, RigidbodyChanged, Widget.Right | Widget.AllowNone); position_ = new PositionStateList( "Position", "", PositionChanged, Widget.Right | Widget.AllowNone); rotation_ = new RotationStateList( "Rotation", "", RotationChanged, Widget.Right | Widget.AllowNone); Update(); collapsible_.Add(delete_); collapsible_.Add(controller_); collapsible_.Add(atom_); collapsible_.Add(rb_); collapsible_.Add(position_); collapsible_.Add(rotation_); collapsible_.Add(new SmallSpacer(Widget.Right)); }
public override void AddToUI(IModifierSync s) { unsynced_ = s as UnsyncedModifier; if (unsynced_ == null) { return; } durationWidgets_.SetValue(unsynced_.Duration); delayWidgets_.SetValue(unsynced_.Delay); durationCollapsible_.Clear(); durationCollapsible_.Add(durationWidgets_.GetWidgets()); delayCollapsible_.Clear(); delayCollapsible_.Add(delayWidgets_.GetWidgets()); durationCollapsible_.AddToUI(); delayCollapsible_.AddToUI(); copy_.AddToUI(); syncToThis_.AddToUI(); }
public void AddWidget(IWidget w) { collapsible_.Add(w); }
public override void AddToTopUI(IModifier m) { base.AddToTopUI(m); var changed = (m != modifier_); modifier_ = m as MorphModifier; if (modifier_ == null) { progressionUI_ = null; return; } if (selectedMorphs_.Count != modifier_.Morphs.Count) { changed = true; } if (changed) { selectedMorphs_.Clear(); selectedMorphsCollapsible_.Clear(); selectedMorphsCollapsible_.Add(toggleAll_); foreach (var sm in modifier_.Morphs) { AddSelectedMorphUI(sm); } } if (progressionUI_ == null || progressionUI_.ProgressionType != modifier_.Progression.GetFactoryTypeName()) { progressionUI_ = CreateMorphProgressionUI(modifier_.Progression); } progressionType_.Value = modifier_.Progression; morphCheckboxes_.Atom = modifier_.Atom; var dazmorphs = new List <DAZMorph>(); foreach (var sm in modifier_.Morphs) { dazmorphs.Add(sm.Morph); } morphCheckboxes_.Morphs = dazmorphs; AddAtomWidgets(m); widgets_.AddToUI(progressionType_); if (progressionUI_ != null) { progressionUI_.AddToUI(modifier_.Progression); } widgets_.AddToUI(new SmallSpacer(Widget.Right)); widgets_.AddToUI(selectedMorphsCollapsible_); widgets_.AddToUI(new SmallSpacer(Widget.Right)); widgets_.AddToUI(morphCheckboxes_); }
public OptionsUI(int flags = 0) { collapsible_ = new Collapsible("Options and presets", null, flags); resetValuesOnFreeze_ = new Checkbox( "Reset positions on freeze", options_.ResetValuesOnFreeze, ResetValuesOnFreezeChanged, flags); resetCountersOnThaw_ = new Checkbox( "Reset counters on thaw", options_.ResetCountersOnThaw, ResetCountersOnThaw, flags); pickAnimatable_ = new Checkbox( "Pick animatable", PickAnimatableChanged, flags); manageAnimatable_ = new Button( "Manage animatables", ManageAnimatables, flags); overlapTime_ = new FloatSlider( "Global overlap time", options_.OverlapTime, new FloatRange(0, 1), OverlapTimeChanged, flags); logLevel_ = new StringList( "Log level", Options.LogLevelToString(options_.LogLevel), Options.GetLogLevelNames(), LogLevelChanged, flags); logOverlap_ = new Checkbox( "Log overlap", LogOverlapChanged, flags); usePlaceholder_ = new Checkbox( "Save: use placeholder for atoms", null, flags); collapsible_.Add(resetValuesOnFreeze_); collapsible_.Add(resetCountersOnThaw_); collapsible_.Add(pickAnimatable_); collapsible_.Add(manageAnimatable_); collapsible_.Add(overlapTime_); collapsible_.Add(logLevel_); collapsible_.Add(logOverlap_); collapsible_.Add(new SmallSpacer(flags)); collapsible_.Add(usePlaceholder_); collapsible_.Add(new Button( "Full: save", SaveFull, flags)); collapsible_.Add(new Button( "Full: load, replace everything", () => { LoadFull(Utilities.PresetReplace); }, flags)); collapsible_.Add(new Button( "Full: load, append steps", () => { LoadFull(Utilities.PresetAppend); }, flags)); collapsible_.Add(new SmallSpacer(flags)); collapsible_.Add(new Button( "Step: save current", SaveStep, flags)); collapsible_.Add(new Button( "Step: load, replace current", () => { LoadStep(Utilities.PresetReplace); }, flags)); collapsible_.Add(new Button( "Step: load, add modifiers to current step", () => { LoadStep(Utilities.PresetMerge); }, flags)); collapsible_.Add(new Button( "Step: load, append as new step", () => { LoadStep(Utilities.PresetAppend); }, flags)); collapsible_.Add(new SmallSpacer(flags)); collapsible_.Add(new Button( "Modifier: save current", SaveModifier, flags)); collapsible_.Add(new Button( "Modifier: load, replace current", () => { LoadModifier(Utilities.PresetReplace); }, flags)); collapsible_.Add(new Button( "Modifier: load, append to current step", () => { LoadModifier(Utilities.PresetAppend); }, flags)); collapsible_.Add(new SmallSpacer(flags)); }