Если это простой C API, то самый простой способ получить к нему доступ - это использовать PInvoke.PInvoke был разработан именно для этого сценария.
Не могли бы вы опубликовать подпись методов C?Если это так, мы могли бы предоставить соответствующие управляемые подписи.
РЕДАКТИРОВАТЬ
[DllImport("insert_the_dll_name_here")]
public static extern int new_game(ref double param1, ref double param2);
Как указал Ганс, учитывая множественное имя параметров, кажется возможным, что это массивы против отдельных значений.Если так, то подпись должна быть изменена, чтобы учесть это.Например, если ожидается, что они имеют предопределенный фиксированный размер, подпись будет выглядеть следующим образом:
[DllImportAttribute("insert_the_dll_name_here"]
public static extern int M1(
[MarshalAsAttribute(UnmanagedType.LPArray, ArraySubType=UnmanagedType.R8, SizeConst=5)]
double[] params1),
[MarshalAsAttribute(UnmanagedType.LPArray, ArraySubType=UnmanagedType.R8, SizeConst=5)]
double[] params2) ;