Esempio n. 1
0
 private void CopyTo(RigidbodyModifier m, int cloneFlags)
 {
     base.CopyTo(m, cloneFlags);
     m.type_      = type_?.Clone(cloneFlags);
     m.receiver_  = receiver_;
     m.direction_ = direction_;
 }
Esempio n. 2
0
        public override IModifier Clone(int cloneFlags = 0)
        {
            var m = new RigidbodyModifier();

            CopyTo(m, cloneFlags);
            return(m);
        }
Esempio n. 3
0
        public override void AddToTopUI(IModifier m)
        {
            modifier_ = m as RigidbodyModifier;
            if (modifier_ == null)
            {
                return;
            }

            if (modifier_.Receiver == null)
            {
                receiver_.Value = "";
            }
            else
            {
                receiver_.Value = modifier_.Receiver.name;
            }

            receiver_.Atom  = modifier_.Atom;
            moveType_.Value = modifier_.Type;

            var dirString = Utilities.DirectionString(modifier_.Direction);

            if (dirString == "")
            {
                dirString = "Custom";
            }

            dirType_.Value = dirString;
            dir_.Value     = modifier_.Direction;

            AddAtomWidgets(m);

            widgets_.AddToUI(receiver_);
            widgets_.AddToUI(moveType_);
            widgets_.AddToUI(dirType_);

            if (dirType_.Value == "Custom")
            {
                foreach (var w in dir_.GetWidgets())
                {
                    widgets_.AddToUI(w);
                }
            }

            AddAtomWithMovementWidgets(m);
            base.AddToTopUI(modifier_);
        }