/** * Find all activities which have data of a given class. Useful for finding custom activity types. */ virtual public List <Activity> GetActivitiesOfDataClassType(System.Type type) { List <Activity> result = new List <Activity>(); foreach (Activity activity in currentActivities) { ActivityData data = GetActivityData(activity.Type); if (type.IsAssignableFrom(data.GetType())) { result.Add(activity); } } foreach (Activity activity in completedActivities) { ActivityData data = GetActivityData(activity.Type); if (type.IsAssignableFrom(data.GetType())) { result.Add(activity); } } return(result); }