私が作っているゲームは、単純なエンティティシステムを持っています。私はCEntityクラス(継承、コンポーネントベースではない)とエンティティマネージャを持っています。ルア:私のゲームエンティティシステムのバインドに関する問題
CEntityはLuaにメタデータでバインドされており、Luaから新しいエンティティを作成すると、割り当てられたuserdata内にC++で新しいエンティティが作成されます。
だからそれはすべての罰金しかし、私は1つの巨大な問題に遭遇していることになります。
- どのように私はents.GetByID(のようなものを実装してください)?
ents.GetByID()は、ID xのエンティティへの参照を返す必要があります。私が現在行っていること:新しいユーザデータを作成し、既存のエンティティxのmemcpy()を埋めてください。
これは明らかにうまくいきません。まず、エンティティマネージャを駄目にします。そして、2番目に、「参照」エンティティを変更すると、実際のエンティティは同じままです。
- スタック上の既存のuserdatumへの参照をプッシュするにはどうすればよいですか?
OPが質問の削除を要求し、内容を消去しました。 @キャット:なぜですか? – Eric