kinugasa.rpgui

## クラス Node

- java.lang.Object
- - kinugasa.rpgui.Node

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

      public class Node
      extends java.lang.Object
      implements Nameable

  フィールドマップ間を移動する、マップ遷移を行うための出入り口です.
  ノードはフィールドマップのマップ遷移イベント層のある位置に設定されます。 キャラクタがノードの上に移動すると、ノードに設定された ”出口”に移動します。ノードを検知してから自動的に移動するかどうかは ゲームデザインによって異なります。
  プレイヤーがこのノードが使用可能であるかは、NodeAccepterを使用して検査されます。
  ただし、NodeAccepterはnullを許可します。nullの場合は必ず使用可能となります。
  ノードを使用したマップ遷移はファイルロードが発生するため、 マップ遷移中は画面を暗転するなどのエフェクトを使用します。
  ノードを通って次のマップに遷移するには、移動先マップとそのマップ内の ノードを指定します。

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

    コンストラクタ
    コンストラクタと説明
    `Node(java.lang.String name, java.awt.Point location, java.lang.String exitMapName, java.lang.String exitNodeName, FourDirection face)` 新しいノードを作成します.
    `Node(java.lang.String name, java.awt.Point location, java.lang.String exitMapName, java.lang.String exitNodeName, java.lang.String tooltip, FourDirection face)` 新しいノードを作成します.
    `Node(java.lang.String name, java.awt.Point location, java.lang.String exitMapName, java.lang.String exitNodeName, java.lang.String tooltip, FourDirection face, NodeAccepter accepter)` 新しいノードを作成します.

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

    All Methods Instance Methods Concrete Methods
    修飾子とタイプ | メソッドと説明
    --- | ---
    `boolean` | `accept()` このノードが有効かを検査します.
    `boolean` | `equals(java.lang.Object obj)`
    `NodeAccepter` | `getAccepter()` このノードに設定されたNodeAccepterを返します.
    `java.lang.String` | `getExitMapName()` 出口となるマップの名前を返します.
    `java.lang.String` | `getExitNodeName()` 出口となるノードの名前を返します.
    `FourDirection` | `getFace()` 出口でのキャラクタの向きを返します.
    `java.awt.Point` | `getLocation()` このノードの位置を取得します.
    `java.lang.String` | `getName()` このインスタンスの一意的な名前を取得します.
    `java.lang.String` | `getTooltip()` ノードの説明を取得します.
    `int` | `getX()` このノードが設置された座標を返します.
    `int` | `getY()` このノードが設置された座標を返します.
    `boolean` | `hasAccepter()` このノードがNodeAccepterを持っているかを調べます.
    `int` | `hashCode()`
    `void` | `setAccepter(NodeAccepter accepter)` NodeAccepterを設定します.
    `void` | `setTooltip(java.lang.String tooltip)` ノードの説明を取得します.
    `java.lang.String` | `toString()`

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

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

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

    - #### Node

          public Node(java.lang.String name,
                      java.awt.Point location,
                      java.lang.String exitMapName,
                      java.lang.String exitNodeName,
                      FourDirection face)

      新しいノードを作成します.
      パラメータ:
        `name` - マップ内で一意的な名前を指定します。
        `location` - このノードの設置位置です。
        `exitMapName` - 出口のあるマップ名を指定します。
        `exitNodeName` - 出口のノード名を指定します。
        `face` - 出口でのキャラクタの向きを指定します。

    - #### Node

          public Node(java.lang.String name,
                      java.awt.Point location,
                      java.lang.String exitMapName,
                      java.lang.String exitNodeName,
                      java.lang.String tooltip,
                      FourDirection face)

      新しいノードを作成します.
      パラメータ:
        `name` - マップ内で一意的な名前を指定します。
        `location` - このノードの設置位置です。
        `exitMapName` - 出口のあるマップ名を指定します。
        `exitNodeName` - 出口のノード名を指定します。
        `tooltip` - ノードの説明文です。
        `face` - 出口でのキャラクタの向きを指定します。

    - #### Node

          public Node(java.lang.String name,
                      java.awt.Point location,
                      java.lang.String exitMapName,
                      java.lang.String exitNodeName,
                      java.lang.String tooltip,
                      FourDirection face,
                      NodeAccepter accepter)

      新しいノードを作成します.
      パラメータ:
        `name` - マップ内で一意的な名前を指定します。
        `location` - このノードの設置位置です。
        `exitMapName` - 出口のあるマップ名を指定します。
        `exitNodeName` - 出口のノード名を指定します。
        `tooltip` - ノードの説明文です。
        `face` - 出口でのキャラクタの向きを指定します。
        `accepter` - NodeAccepterを指定します。

  - ### メソッドの詳細

    - #### setTooltip

          public void setTooltip(java.lang.String tooltip)

      ノードの説明を取得します.
      パラメータ:
        `tooltip` - ノードに設定される説明文です。

    - #### getX

          public int getX()

      このノードが設置された座標を返します.
      戻り値:
        X座標を返します。位置はマップチップ数ベースです。

    - #### getY

          public int getY()

      このノードが設置された座標を返します.
      戻り値:
        Y座標を返します。位置はマップチップ数ベースです。

    - #### setAccepter

          public void setAccepter(NodeAccepter accepter)

      NodeAccepterを設定します.
      パラメータ:
        `accepter` - 新しいNodeAccepterを送信します。nullを許可します。

    - #### getExitMapName

          public java.lang.String getExitMapName()

      出口となるマップの名前を返します.
      戻り値:
        出口のマップ名です。

    - #### getExitNodeName

          public java.lang.String getExitNodeName()

      出口となるノードの名前を返します.
      戻り値:
        出口のノード名です。

    - #### getTooltip

          public java.lang.String getTooltip()

      ノードの説明を取得します.
      戻り値:
        ノードに設定された説明文を返します。

    - #### getFace

          public FourDirection getFace()

      出口でのキャラクタの向きを返します.
      戻り値:
        出口でのキャラクタの向きです。

    - #### getAccepter

          public NodeAccepter getAccepter()

      このノードに設定されたNodeAccepterを返します.
      戻り値:
        NodeAccepterを返します。

    - #### hasAccepter

          public boolean hasAccepter()

      このノードがNodeAccepterを持っているかを調べます.
      戻り値:
        getAccepter() != nullを返します。

    - #### accept

          public boolean accept()

      このノードが有効かを検査します.
      戻り値:
        ノードにNodeAccepterが設定されている場合は、accepter.accept()を返します。
        NodeAccepterがnullの場合は必ずtrueを返します。

    - #### getName

          public java.lang.String getName()

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

    - #### getLocation

          public java.awt.Point getLocation()

      このノードの位置を取得します. 参照が返されます。
      戻り値:
        ノードを位置を返します。

    - #### toString

          public java.lang.String toString()

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

    - #### hashCode

          public int hashCode()

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

    - #### equals

          public boolean equals(java.lang.Object obj)

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