Ejemplo n.º 1
0
        public LinkModifierController Clone(int cloneFlags)
        {
            var c = new LinkModifierController();

            CopyTo(c, cloneFlags);
            return(c);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 private void CopyTo(LinkModifierController c, int cloneFlags)
 {
     c.controllerName_ = controllerName_;
     c.atomName_       = atomName_;
     c.rbName_         = rbName_;
     c.position_       = position_;
     c.rotation_       = rotation_;
 }
Ejemplo n.º 4
0
        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");
        }
Ejemplo n.º 5
0
        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));
        }
Ejemplo n.º 6
0
 public void RemoveController(LinkModifierController c)
 {
     controllers_.Remove(c);
     c.Removed();
 }
Ejemplo n.º 7
0
 public void AddController(LinkModifierController c)
 {
     controllers_.Add(c);
 }