private void CopyTo(RigidbodyModifier m, int cloneFlags) { base.CopyTo(m, cloneFlags); m.type_ = type_?.Clone(cloneFlags); m.receiver_ = receiver_; m.direction_ = direction_; }
public override IModifier Clone(int cloneFlags = 0) { var m = new RigidbodyModifier(); CopyTo(m, cloneFlags); return(m); }
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_); }