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

## kinugasa.contents.event
クラス EventManager

    java.lang.Object
      kinugasa.contents.event.EventManager

すべての実装されたインタフェース:
  java.io.Serializable, Freeable

直系の既知のサブクラス:
  MultiClassEventManager, SingleClassEventManager

    public abstract class EventManager

extends java.lang.Object
implements Freeable, java.io.Serializable

時系列イベントを処理する仕組みの基本的な機能を定義します.
実際に発生するイベント[ Eventクラス ]はマネージャの実装によって扱う型が異なるため、 イベントを追加する機能はこのクラスには定義されていません。
フレームワークでは、基本的な実装として、Event≶?>を扱うMultiClassEventManagerと、 Event<T>を扱うSIngleClassEventManagerを用意しています。
マネージャが使用するイベントはリストまたはキューとして実装されます。

バージョン:
  1.0.0 - 2012/11/15_8:10:37
作成者:
  Dra0211
関連項目:
  直列化された形式

フィールドの概要
`private boolean` | `load` ロードされているかどうかのフラグです.
`private long` | `progressTime` マネージャの更新回数です。
`private static long` | `serialVersionUID`
`protected EntryModel` | `TIME_BASE_ENTRY_MODEL` このマネージャの時刻とイベントの時刻を比較する最も一般的な実装です.

コンストラクタの概要
`EventManager()` マネージャを構築します.

メソッドの概要
`abstract void` | `clear()` マネージャに追加されているすべてのイベントを破棄します.
`abstract boolean` | `contains(Event<?> evt)` マネージャにイベントevtが含まれているかを調べます.
`EventManager` | `free()` コンテンツをメモリから破棄出来るようにします.
`long` | `getProgressTime()` このイベントマネージャの更新回数を取得します.
`protected abstract void` | `init()` マネージャに追加されているイベントを初期化します.
`abstract boolean` | `isEmpty()` マネージャの破棄されていないイベントの数が0個であるかを検査します.
`boolean` | `isLoaded()` このオブジェクトが、すでにロードされているかを検査します.
`EventManager` | `load()` コンテンツをロードして展開します.
`abstract void` | `printAll(java.io.PrintStream stream)` ストリームにイベントの情報を発行します.
`abstract void` | `remove(Event<?> evt)` マネージャにイベントevtが含まれていれば削除します.
`abstract void` | `removeAll(Event<?>... evt)` マネージャにイベントevtが含まれていれば削除します.
`abstract int` | `size()` マネージャに追加されており、まだ破棄されていないイベントの数を取得します.
`abstract void` | `sort()` マネージャに追加されているイベントを、時系列に沿ってソートします.
`java.lang.String` | `toString()`
`void` | `update()` イベントマネージャの内部時間を更新します.

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

フィールドの詳細

### serialVersionUID

    private static final long serialVersionUID

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

### progressTime

    private transient long progressTime

  マネージャの更新回数です。イベントの発生タイミングの検査に使用されます.

### load

    private transient boolean load

  ロードされているかどうかのフラグです.

### TIME_BASE_ENTRY_MODEL

    protected final EntryModel TIME_BASE_ENTRY_MODEL

  このマネージャの時刻とイベントの時刻を比較する最も一般的な実装です.

コンストラクタの詳細

### EventManager

    public EventManager()

  マネージャを構築します. 通常は、イベントを格納するリストやキューを初期化します。

メソッドの詳細

### update

    public void update()

  イベントマネージャの内部時間を更新します. このメソッドは毎ターン（もしくは何回かに1回）呼び出し続ける必要があります。
  このメソッドによってこのイベントマネージャの内部時刻が更新され、 新しいイベントが起動できるようになります。

### getProgressTime

    public long getProgressTime()

  このイベントマネージャの更新回数を取得します. 更新回数はイベントが発生する"時刻"を表します。
  通常、更新時刻が、イベントの実行時刻よりも大きくなったとき、イベントが起動されます。
  この時刻はただのカウンタであり、updateを呼び出した回数が保管されます。
  毎フレーム更新することで、時刻のカウンタは総フレーム数と同期します。

  戻り値:
    このイベントマネージャの更新回数を返します。

### load

    public EventManager load()

  インタフェース `Freeable` の記述:
  コンテンツをロードして展開します. すでにロードされている場合の動作は、実装によって異なります。
  再度ロードすることで、データを最新のものに更新するなど、効果のある場合には、すでにロードされている場合でも 再度ロードすることがあります。

  定義:
    インタフェース `Freeable` 内の `load`
  戻り値:
    インスタンス化と同時にロードするために、thisインスタンスを返します。戻り値は 適切な型にキャストする必要があります。

### init

    protected abstract void init()

  マネージャに追加されているイベントを初期化します. このメソッドはloadメソッドをコールすると自動的に呼ばれます。
  具象クラスでは、addメソッドを使用してイベントを追加する処理を記述する 必要があります。

### free

    public EventManager free()

  インタフェース `Freeable` の記述:
  コンテンツをメモリから破棄出来るようにします. 実際にメモリから破棄されるタイミングは、GCに依存します。
  まだロードされていないか、開放済みのオブジェクトを開放した場合には、通常は何も行いません。

  定義:
    インタフェース `Freeable` 内の `free`
  戻り値:
    デフォルトでロードされる実装を、インスタンス化と同時に開放するためにthisインスタンスを返します。
    戻り値は適切な型にキャストする必要があります。通常、このような実装は効率的でないため推奨されません。

### printAll

    public abstract void printAll(java.io.PrintStream stream)

  ストリームにイベントの情報を発行します. このメソッドはデバッグ用です。loadメソッドによって実行されます。

  パラメータ:
    `stream` - 発行するストリームを送信します。

### isLoaded

    public boolean isLoaded()

  インタフェース `Freeable` の記述:
  このオブジェクトが、すでにロードされているかを検査します.

  定義:
    インタフェース `Freeable` 内の `isLoaded`
  戻り値:
    ロード済みである場合はtrueを返します。

### sort

    public abstract void sort()

  マネージャに追加されているイベントを、時系列に沿ってソートします.

### size

    public abstract int size()

  マネージャに追加されており、まだ破棄されていないイベントの数を取得します.

  戻り値:
    追加ずみイベントの数を返します。

### isEmpty

    public abstract boolean isEmpty()

  マネージャの破棄されていないイベントの数が0個であるかを検査します.

  戻り値:
    マネージャにイベントがない場合はtrue、1個以上のイベントが待機中である場合はfalseを返します。

### clear

    public abstract void clear()

  マネージャに追加されているすべてのイベントを破棄します.

### contains

    public abstract boolean contains(Event<?> evt)

  マネージャにイベントevtが含まれているかを調べます.

  パラメータ:
    `evt` - 検査するイベントを送信します。
  戻り値:
    evtがイベントリストに含まれている場合はtrueを返します。

### remove

    public abstract void remove(Event<?> evt)

  マネージャにイベントevtが含まれていれば削除します. このメソッドは実行したイベントを破棄するためにも使用されます。
  evtが含まれていない場合は何も行いません。

  パラメータ:
    `evt` - 削除するイベントを送信します。

### removeAll

    public abstract void removeAll(Event<?>... evt)

  マネージャにイベントevtが含まれていれば削除します. このメソッドは実行したイベントを破棄するためにも使用されます。
  evtが含まれていない場合は何も行いません。

  パラメータ:
    `evt` - 削除するイベントを送信します。

### toString

    public java.lang.String toString()

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

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