どこから始めればよいかよくわかりません。エンティティ コンポーネント モデル ライブラリを使用して、XNA 用の GUI マネージャーを作成しています。XML ドキュメントを GUI フォームに動的にインポートできるようにしたいと考えています。"type"
私が考えていたのは、コントロールのタイプを含む属性を持つことでした。たとえばtype="Image"
、パーサーに画像を作成するように指示します。取得したら、独自の XML 解析メソッドを呼び出して値を入力できます。しかし、私はこの部分で立ち往生しています。
次のドキュメントを検討してください。
<Gui>
<BGImage type="Image">
<Body>
<Position>
<X>0</X>
<Y>0</Y>
</Position>
</Body>
<ImageRender>
<Texture>background</Texture>
<Color>
<R>255</R>
<G>255</G>
<B>255</B>
<A>255</A>
</Color>
</ImageRender>
</BGImage>
<CheckBox type="Checkbox">
<Body>
<Position>
<X>20</X>
<Y>20</Y>
</Position>
</Body>
<TileRender>
<Index>0</Index>
<Texture>checkbox</Texture>
<Color>
<R>255</R>
<G>255</G>
<B>255</B>
<A>255</A>
</Color>
</TileRender>
<TextRender>
<Text>Checkbox</Text>
<Font>spritefont</Font>
</TextRender>
</CheckBox>
</Gui>
私がやろうとしているのは、クラスにこの XML ドキュメントを解析させ、次のことを実行させることです。type 属性を持つタグは、それらが表すタイプとしてフォームに追加されます。たとえば、画像を表す Image クラスがあり、例の BGImage は画像を作成してフォームに追加する必要があります。私が必要としているのは、type="Image" をクラス Image に関連付ける方法です。
私はすでにエンティティをゲームに追加するために使用するメソッドを持っています。私の問題は、文字列を型にして、そこから新しいエンティティをインスタンス化する方法にあります。
私がやろうとしているのは、文字列から型を返すことですが、それが可能かどうかはわかりません。C#でこれを行う方法はありますか、それとも間違った角度から攻撃していますか?