概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## kinugasa.contents.event
クラス Event<T>

    java.lang.Object
      kinugasa.contents.event.Event<T>

型パラメータ:
  `T` - このイベントが扱うオブジェクトの型を指定します。

すべての実装されたインタフェース:
  java.io.Serializable, java.lang.Comparable<Event<?>>

    public abstract class Event<T>

extends java.lang.Object
implements java.lang.Comparable<Event<?>>, java.io.Serializable

時系列で発生するイベントの処理と対象オブジェクトを格納するクラスです.
イベントは1つの「オブジェクト」と「実行時刻」を持ちます。
通常、実行時刻はゲームの更新回数と同期します。この値はイベントが所属する EventManagerの更新回数をもとに判定します。
オブジェクトはイベントの実行によって返されるアイテムです。
オブジェクトは実行前に（登録時に）そのインスタンスが存在していなければなりません。
実行時には、オブジェクトに対する特別な操作を行った後、それを戻すことで、 ゲーム内で利用できるようにします。
イベントが実行できるタイミングは、イベントに設定されたEntryModelによって判断されます。
イベントが同一であるかどうかはIDのみが評価されます。

バージョン:
  1.0.0 - 2012/10/19_18:14:25.
作成者:
  Dra0211
関連項目:
  直列化された形式

フィールドの概要
`private EntryModel` | `entryModel` このイベントの実行モデルです.
`private long` | `executeTime` このイベントの実行時刻です.
`private int` | `id` このイベント固有のIDです.
`private static int` | `idCounter` イベントの合計数のカウンタです.
`protected T` | `object` このイベントが使用するオブジェクトです.
`static long` | `TIME_INITIAL` イベントの時刻にこの値を指定すると、そのイベントは最初のターンで実行されます.
`static long` | `TIME_NOT_EXECUTE` イベントの時刻にこの値を指定すると、そのイベントは実行されません.
`private java.lang.Class<T>` | `type` このイベントが扱う型情報です.

コンストラクタの概要
`Event(long executeTime, EntryModel entryModel, T obj)` 新しいイベントを作成します.

メソッドの概要
`int` | `compareTo(Event<?> o)` イベントを時刻の昇順にソートするための比較機能です.
`boolean` | `equals(java.lang.Object obj)`
`abstract T` | `execute()` このイベントを実行します.
`EntryModel` | `getEntryModel()` このイベントに設定されているエントリモデルを取得します.
`static int` | `getEventsNum()` 作成されたイベントの合計数を取得します.
`long` | `getExecuteTime()` このイベントの実行時刻を取得します.
`int` | `getId()` このイベントのIDを取得します.
`T` | `getObject()` このイベントが保有しているオブジェクトを取得します.
`java.lang.Class<T>` | `getType()` このイベントが扱う型を返します.
`int` | `hashCode()`
`boolean` | `isReaching()` このイベントが現時点で実行可能であるかをエントリモデルによって評価します.
`void` | `setEntryModel(EntryModel entryModel)` このイベントのエントリモデルを設定します.
`java.lang.String` | `toString()`

クラス java.lang.Object から継承されたメソッド
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

フィールドの詳細

### TIME_INITIAL

    public static final long TIME_INITIAL

  イベントの時刻にこの値を指定すると、そのイベントは最初のターンで実行されます.

  関連項目:
    定数フィールド値

### TIME_NOT_EXECUTE

    public static final long TIME_NOT_EXECUTE

  イベントの時刻にこの値を指定すると、そのイベントは実行されません. この値は-1Lが使用されているので、イベントの時刻に-1Lを使用することはできません。

  関連項目:
    定数フィールド値

### idCounter

    private static int idCounter

  イベントの合計数のカウンタです.

### id

    private int id

  このイベント固有のIDです. この値は決して重複せず、イベントが作成された順に連番が降られます。

### executeTime

    private long executeTime

  このイベントの実行時刻です.

### entryModel

    private EntryModel entryModel

  このイベントの実行モデルです.

### object

    protected final T object

  このイベントが使用するオブジェクトです. サブクラスから使用できます。

### type

    private java.lang.Class<T> type

  このイベントが扱う型情報です.

コンストラクタの詳細

### Event

    public Event(long executeTime,
                 EntryModel entryModel,
                 T obj)
          throws java.lang.IllegalArgumentException,
                 java.lang.NullPointerException

  新しいイベントを作成します. イベントが扱うオブジェクトは、複数のイベント間で共通のインスタンスを使用することができます。
  イベントの起動時刻に-1(TIME_NOT_EXECUTE)を指定した場合、そのイベントは実行できなくなることに注意してください。
  最初に起動する必要のあるイベントは0を指定します。

  パラメータ:
    `executeTime` - イベントの起動時刻を指定します。この値は通常、マネージャの更新回数によって判定されます。
    たとえば、FPSが60では、開始からおよそ1秒後に時刻60となります。
    `entryModel` - このイベントの実行判定機能を定義します。このモデルを使用して、「フィールドに敵がいる場合は出現しない」 等の条件を判定することができます。
    `obj` - イベントが使用するオブジェクトを指定します。オブジェクトは解放可能な場合は、ロードせずに送信することができます。
  例外:
    `java.lang.IllegalArgumentException` - 起動時刻がTIME_NOT_EXECUTE(-1)より小さい場合に投げられます。
    `java.lang.NullPointerException` - 使用するオブジェクトがnullの場合に投げられます。

メソッドの詳細

### getId

    public final int getId()

  このイベントのIDを取得します. IDはイベントの作成順に連番として割り当てられます。
  他のマネージャのイベントであっても重複することはありません。

  戻り値:
    このイベントのIDを返す。

### getEventsNum

    public static int getEventsNum()

  作成されたイベントの合計数を取得します.

  戻り値:
    作成済みのイベントの数.

### setEntryModel

    public final void setEntryModel(EntryModel entryModel)

  このイベントのエントリモデルを設定します.

  パラメータ:
    `entryModel` - 新しいエントリモデル。

### getEntryModel

    public final EntryModel getEntryModel()

  このイベントに設定されているエントリモデルを取得します.

  戻り値:
    エントリモデル。

### isReaching

    public final boolean isReaching()

  このイベントが現時点で実行可能であるかをエントリモデルによって評価します.

  戻り値:
    このイベントが現時点で実行できる場合はtrue、そうでない場合はfalseを返す。

### getExecuteTime

    public final long getExecuteTime()

  このイベントの実行時刻を取得します.

  戻り値:
    このイベントの実行時刻。

### compareTo

    public final int compareTo(Event<?> o)

  イベントを時刻の昇順にソートするための比較機能です. このメソッドは別の型のイベントであっても比較できます。

  定義:
    インタフェース `java.lang.Comparable<Event<?>>` 内の `compareTo`
  パラメータ:
    `o` - 比較するイベント。
  戻り値:
    Comparebleの実装に基づく値を返す。

### getObject

    public final T getObject()

  このイベントが保有しているオブジェクトを取得します.

  戻り値:
    このイベントによって使用されるオブジェクトを返す。

### getType

    public final java.lang.Class<T> getType()

  このイベントが扱う型を返します.

  戻り値:
    このイベントが使用する型。

### execute

    public abstract T execute()

  このイベントを実行します. 実行後、状態が変更されたオブジェクトを戻す必要があります。

  戻り値:
    このイベントによって状態が変更されたオブジェクトを戻す。

### toString

    public java.lang.String toString()

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

### equals

    public boolean equals(java.lang.Object obj)

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

### hashCode

    public int hashCode()

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

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド