/// <summary> /// Determines whether the exposed type by the specified script derives from the specified type. /// </summary> /// <param name="externalType">The type exposed by the script.</param> /// <param name="internalType">The internal abstract type which the external type derives from.</param> /// <returns> /// <c>true</c> if it is a subclass of the specified type; otherwise, <c>false</c>. /// </returns> public abstract bool IsCompatible(ExternalType externalType, Type internalType);
/// <summary> /// Creates a new instance from the specified type. /// </summary> /// <typeparam name="T">The internal abstract type to cast the new instance to.</typeparam> /// <param name="type">The type exposed by the script.</param> /// <returns> /// A new instance from the specified type. /// </returns> public abstract T CreateInstance <T>(ExternalType type);