/// <summary> /// Data constructor: Creates a Action Group Goo instance from another Action Group Goo instance. /// This creates a shallow copy of the passed Action Goo instance. /// </summary> /// <param name="groupGoo"> Action Group Goo instance to copy. </param> public GH_ActionGroup(GH_ActionGroup groupGoo) { if (groupGoo == null) { groupGoo = new GH_ActionGroup(); } this.Value = groupGoo.Value; }
/// <summary> /// Attempt a cast from generic object. /// </summary> /// <param name="source"> Reference to source of cast. </param> /// <returns> True on success, false on failure. </returns> public override bool CastFrom(object source) { if (source == null) { return(false); } //Cast from Action Group if (typeof(ActionGroup).IsAssignableFrom(source.GetType())) { Value = source as ActionGroup; return(true); } //Cast from Action Goo if (typeof(GH_ActionGroup).IsAssignableFrom(source.GetType())) { GH_ActionGroup groupGoo = source as GH_ActionGroup; Value = groupGoo.Value as ActionGroup; return(true); } //Cast from Action if (typeof(Action).IsAssignableFrom(source.GetType())) { if (source is ActionGroup action) { Value = action; return(true); } } //Cast from Action Goo if (typeof(GH_Action).IsAssignableFrom(source.GetType())) { GH_Action actionGoo = source as GH_Action; if (actionGoo.Value is ActionGroup action) { Value = action; return(true); } } return(false); }