https://github.com/GaijinEntertainment/daScript/blob/master/examples/tutorial/tutorial03.cpp#L15 Базовый пример прокидывания C++ класса в daScript. Похоже на другие скриптовые языки, создаётся класс-обёртка (ManagedStructureAnnotation) над типом, которая позволяет привязать и настроить отображение полей и методов структуры на тип в daScript, а также переопределить группу методов, определяющих свойства этого типа в daScript.
Более продвинутые примеры, также можно смотреть код модулей.
Отнаследоваться от C++ типа нельзя (ну, или я не нашёл способа сделать такой тип).
Существует возможность передать в daScript связь родитель-потомок между C++-типами (пример), для upcast-приведения типов аргументов функций.
Пример организации связи между С++ и daScript-классами - tutorial04.
В примере связь организуется через класс BaseClassAdapter, который наследуется одновременно от базового C++-класса и сгенерированного по das-коду C++-классу-адаптеру
TutorialBaseClass - интерфейс между C++/daScript, который используется генератором C++-обёрток log_cpp_class_adapter, на выходе получается примерно такой C++-код:
Вызов:
Класс не содержит особой магии, а просто хранит адреса daScript-функций и позволяет прозрачно для вызывающего C++-кода их вызывать и изменять.