public LinkModifierController Clone(int cloneFlags) { var c = new LinkModifierController(); CopyTo(c, cloneFlags); return(c); }
public override bool FromJSON(J.Node n) { if (!base.FromJSON(n)) { return(false); } var o = n.AsObject("LinkModifier"); if (o == null) { return(false); } controllers_.Clear(); var controllersArray = o.Get("controllers").AsArray(); if (controllersArray != null) { controllersArray.ForEach((node) => { var mc = new LinkModifierController(); if (mc.FromJSON(node)) { AddController(mc); } }); } return(true); }
private void CopyTo(LinkModifierController c, int cloneFlags) { c.controllerName_ = controllerName_; c.atomName_ = atomName_; c.rbName_ = rbName_; c.position_ = position_; c.rotation_ = rotation_; }
private void Add() { if (modifier_ == null) { return; } var mc = new LinkModifierController(); modifier_.AddController(mc); controllers_.Add(new LinkModifierControllerUI(modifier_, mc)); Synergy.Instance.UI.NeedsReset("link target added"); }
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 void RemoveController(LinkModifierController c) { controllers_.Remove(c); c.Removed(); }
public void AddController(LinkModifierController c) { controllers_.Add(c); }