kinugasa.game.logic

## クラス GameLogic

- java.lang.Object
- - kinugasa.game.logic.GameLogic

- すべての実装されたインタフェース:
    Freeable, Loadable, Nameable, Drawable

      public abstract class GameLogic
      extends java.lang.Object
      implements Nameable, Drawable, Freeable, Loadable

  ゲームのある場面でのロジックをカプセル化します.
  ゲームロジックは、ゲームのある場面での処理を定義し、ロジックマネージャによって 切り替えます。

- - ### フィールドのサマリー

    フィールド
    修飾子とタイプ | フィールドと説明
    --- | ---
    `protected Game` | `game` このロジックが実行されるゲームです.
    `protected LogicManager` | `logicManager` このロジックが所属するマネージャです.
    `java.lang.String` | `name` このロジックの一意的な名前です.

  - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `GameLogic(java.lang.String name, LogicManager logicManager, Game game)` 新しいロジックを作成します.

  - ### メソッドのサマリー

    All Methods Instance Methods Abstract Methods Concrete Methods
    修飾子とタイプ | メソッドと説明
    --- | ---
    `abstract void` | `draw(java.awt.Graphics2D g)` このロジックの描画処理を定義します.
    `abstract GameLogic` | `free()` ロジックの破棄を行います.
    `java.lang.String` | `getName()` このインスタンスの一意的な名前を取得します.
    `abstract boolean` | `isLoaded()` このオブジェクトが、すでにロードされているかを検査します.
    `abstract GameLogic` | `load()` ロジックの初期化を行います.
    `java.lang.String` | `toString()`
    `abstract void` | `update()` このロジックのメインの処理を定義します.

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### フィールドの詳細

    - #### name

          public final java.lang.String name

      このロジックの一意的な名前です.

    - #### logicManager

          protected final LogicManager logicManager

      このロジックが所属するマネージャです.

    - #### game

          protected final Game game

      このロジックが実行されるゲームです.

  - ### コンストラクタの詳細

    - #### GameLogic

          public GameLogic(java.lang.String name,
                           LogicManager logicManager,
                           Game game)

      新しいロジックを作成します.
      パラメータ:
        `name` - ロジックを識別する名前を指定します。
        `logicManager` - このロジックが所属するマネージャを指定します。
        `game` - このロジックが実行されるゲームクラスを指定します。

  - ### メソッドの詳細

    - #### load

          public abstract GameLogic load()

      ロジックの初期化を行います.
      コンテンツをロードして展開します. すでにロードされている場合の動作は、実装によって異なります。
      再度ロードすることで、データを最新のものに更新するなど、効果のある場合には、すでにロードされている場合でも 再度ロードすることがあります。
      このメソッドは、ロジックが実行される前にロジックマネージャから呼ばれます。
      定義:
        `load` インタフェース内 `Loadable`
      戻り値:
        thisインスタンスを戻します。具象クラス型にキャストしてください。

    - #### free

          public abstract GameLogic free()

      ロジックの破棄を行います.
      コンテンツをメモリから破棄出来るようにします. 実際にメモリから破棄されるタイミングは、GCに依存します。
      まだロードされていないか、開放済みのオブジェクトを開放した場合には、通常は何も行いません。
      このメソッドは、ロジックが切り替えられるときに、ロジックマネージャから呼ばれます。
      定義:
        `free` インタフェース内 `Freeable`
      戻り値:
        thisインスタンスを戻します。具象クラス型にキャストしてください。

    - #### isLoaded

          public abstract boolean isLoaded()

      インタフェースからコピーされた説明: `Loadable`
      このオブジェクトが、すでにロードされているかを検査します.
      定義:
        `isLoaded` インタフェース内 `Loadable`
      戻り値:
        ロード済みである場合はtrueを返します。

    - #### update

          public abstract void update()

      このロジックのメインの処理を定義します.

    - #### draw

          public abstract void draw(java.awt.Graphics2D g)

      このロジックの描画処理を定義します.
      定義:
        `draw` インタフェース内 `Drawable`
      パラメータ:
        `g` - 書き込むグラフィックスコンテキストを送信します。

    - #### getName

          public final java.lang.String getName()

      インタフェースからコピーされた説明: `Nameable`
      このインスタンスの一意的な名前を取得します. 名前はゲームの実行中変更されてはなりません。
      定義:
        `getName` インタフェース内 `Nameable`
      戻り値:
        このインスタンスを識別できる一意的な名前を返します。名前はユーザやプレイヤーが指定する可能性があるため 意味のある文字列を推奨します。

    - #### toString

          public java.lang.String toString()

      オーバーライド:
        `toString` クラス内 `java.lang.Object`