パッケージ medipro.world

クラス World

java.lang.Object
medipro.world.World
直系の既知のサブクラス:
PlayWorld, ResultWorld, TitleMenuWorld

public abstract class World extends Object
ワールドを管理するクラス. コントローラーとビューを格納し、毎フレームごとに更新と描画を行う. ビューはレイヤーごとに保存され、レイヤー0が最背面に描画される.
  • フィールド詳細

  • コンストラクタの詳細

    • World

      public World(GamePanel panel)
      ワールドを生成する.
      パラメータ:
      panel - ワールドが配置されているパネル
  • メソッドの詳細

    • getCamera

      public Optional<CameraModel> getCamera()
      カメラを取得する.
      戻り値:
      カメラ
    • setCamera

      public void setCamera(Optional<CameraModel> camera)
      カメラを設定する.
      パラメータ:
      camera - カメラ
    • dispose

      public void dispose()
      ワールドを破棄する.
    • addControllers

      public void addControllers(GameObjectController... controllers)
      コントローラーを追加する(複数可).
      パラメータ:
      controllers - 格納するコントローラー
    • addViews

      public void addViews(GameObjectView... views)
      ビューを追加する(複数可).
      パラメータ:
      views - 格納するビュー
    • addView

      public void addView(GameObjectView view, int layer)
      レイヤーを指定して、ビューを追加する.
      パラメータ:
      view - 格納するビュー
      layer - レイヤー
    • addViewAndController

      public void addViewAndController(GameObjectView view, GameObjectController controller)
      ビューとコントローラーを追加する.
      パラメータ:
      view - 格納するビュー
      controller - 格納するコントローラー
    • addViewAndController

      public void addViewAndController(GameObjectView view, GameObjectController controller, int layer)
      レイヤーを指定して、ビューとコントローラーを追加する.
      パラメータ:
      view - 格納するビュー
      controller - 格納するコントローラー
      layer - レイヤー
    • setupWorld

      public abstract void setupWorld(JPanel panel)
      ワールドの初期化を行う. モデル、ビュー、コントローラーを生成し、addViewAndControllerなどで追加する.
      パラメータ:
      panel - ワールドが配置されているパネル
    • update

      public void update(double deltaTime)
      格納しているコントローラにアップデート通知を送る.
      パラメータ:
      deltaTime - 前フレームからの経過時間
    • getCameraTransform

      public AffineTransform getCameraTransform()
      カメラの変換行列を取得する.
      戻り値:
      カメラの変換行列
    • draw

      public void draw(Graphics2D g)
      格納しているビューに描画通知を送る.
      パラメータ:
      g - Graphics2D
    • getControllers

      public <T extends GameObjectController> List<T> getControllers(Class<T> type)
      指定したクラスのコントローラーを全て取得する.
      型パラメータ:
      T - コントローラーの型
      パラメータ:
      type - コントローラーの型
      戻り値:
      コントローラー
    • getControllers

      public List<GameObjectController> getControllers()
      格納しているコントローラーを全て取得する.
      戻り値:
      コントローラー
    • getAnormalyListeners

      public List<AnomalyListener> getAnormalyListeners()
      異変のリスナーを全て取得する.
      戻り値:
      異変のリスナー
    • getPanel

      public GamePanel getPanel()
      ワールドが配置されているパネルを取得する.
      戻り値:
      パネル