[Mono] [C ++]是否可以将非托管C / C ++结构/类传递给托管Mono C#运行时?

问题描述

我一直在尝试寻找有关如何将C ++结构化数据传递给Mono托管C#代码的答案,但是在寻找一些明确的解决方案时遇到了一些麻烦。我了解如何调用处理基本数据类型(MonoString,MonoArray等)的基本函数,但是我对如何传递以数据作为参数和返回类型的结构,类和C ++函数感到困惑。

// I want to get something like this going
// C++ Code
class Vector3
{
  float x,y,z; 
};

class Transform
{
  Vector3 _position,_rotation,_scale;

  void Translate(Vector3 new_position);
  void Rotate(Vector3 new_rotation);
  void Scale(Vector3 new_scale);
};


// C# Code

public class ObjectScript
{
  void Update(float dt)
  {
    GetTransform().Translate(new Vector3(0.0f,0.0f,0.0f));
  }
}

我正在尝试为C ++游戏引擎设置脚本,并想研究Unity如何使用mono来允许热重载C#脚本以及它们如何传达后端C ++数据和C#脚本。我了解如何使用基本数据类型设置内部调用。但是,当涉及到GameObject数据时,我一直找不到有关它的任何好的解决方案或文档。

我已经读到一些人使用C#包装器在其中编写.cs文件,以某种方式允许mono理解,但是我不确定如何将其与C / C ++或C#端链接。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)