0

私が取り組んでいるRTSゲームにマルチプレイヤーを実装することに取り組んでいます。すべてのアイテム (建物、ユニット、木など) が拡張するクラス GameObject があります。この GameObject クラスは、アイテムに関するすべての情報 (名前、ヘルス、位置、テクスチャなど) を保持します。AnArrayList<GameObject> gameObjectsはすべてのアイテムを格納します。

次にArrayList<GameObject> selector、ユーザーが現在選択しているアイテムを含む があります。ユーザーがタンクをクリックすると、このタンクは に保存されselectorます。次にどこかを右クリックすると、戦車にマウスの座標に移動するように指示しています。また、セレクター ArrayList とマウス座標をサーバーに送信して、他のすべてのプレイヤーにこれを伝える必要があります。これにより、サーバーはそれを他のクライアントに渡すことができます。

今問題に。クラス GameObject がこの情報を保持しているため、セレクターを送信することは、大量の不要なデータ (テクスチャーなど) を送信することを意味します。また、GameObject が使用するすべてのクラスにシリアライズ可能を実装する必要があります。したがって、私の質問は、実際のgameObjects ArrayListへのある種のポインターのみを格納するArrayListをどうにかして持つことができるかどうかです。ユーザーが戦車を選択したときに、その戦車へのポインターを ArrayList gameObjects に格納するようにします。

少し混乱するかもしれません。ご理解いただければ幸いです。

4

0 に答える 0