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

Kinugasa : Event : 時系列で発生するイベントの処理と対象オブジェクトを格納するクラスです.
イベントは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