これは私が質問に言葉にするのが非常に難しかったので、説明させてください。
私は抽象クラスEntity
とサブクラスHouse
を持っていWarehouse
ます. 各サブクラスには、異なる値を持つ同じ静的変数があります。
ゲームでボタンが押されると、Action
どのエンティティ サブクラスが作成されてワールドに配置されるかを指定する が作成されます。Entity
サブクラスの静的変数を使用して、いくつかを世界に配置する汎用メソッドを作成したいと思います。
クラスがPlaceEntityAction
あり、マウスをクリックすると、条件が正しいと仮定して適切なエンティティが配置されます。配置したいクラスをこのアクションに渡して、ジェネリックで動作するようにするにはどうすればよいEntity
ですか?
ここにいくつかの馬鹿げたコードがあります:
if (mousePressed)) {
if (some conditions are true) {
int ex = x pos
int ey = y pos
if (world.player.haveFunds(e.COST_ENERGY, e.COST_MONEY,
e.COST_RESOURCE)) {
if (world.places[ex][ey] == 0) {
world.entities.add(e);
world.player.addEnergy(-e.COST_ENERGY);
}
}
}
}
e
COST_MONEYなどは静的であり、オブジェクトではなくクラスからアクセスする必要があるため、基本的にどのようにしてそれをアクションに渡すサブクラスにすることができますか?
自分の言いたいことを表現するのに本当に苦労しています。誰かがこれを解読したり、私の問題に関する他の洞察を提供したりできるかもしれません。必要に応じて、その他の必要な情報を提供できます。
編集:
e
ID システムに基づいて以前に初期化したサブクラスのインスタンスですが、この方法は好きではありません。