赤宿 = Red Inn

素人の試行錯誤と2Dゲームプログラミング

Binding as an Observable

 申し訳程度の進捗。

 Entityを削除すると、スケジューラの持つEntity(参照型)が無効になってバグる。そこで、Entityの所有権を持つコレクションに対し、スケジューラを連動させたい(バインディング)。

 ObservableList的なものを実装した(C#)。.Netにも似たものがあるようだけれど、ミニマムな自分仕様の物の方が使い勝手が良いため、今後もためらわずに手製コードを用意する方針。

pub enum ObservableListEvent {  
    Inserted, Removed,  
}  
/// Emits ObservableListEvent  
pub class ObservableList<T> : IList<T> {  
    /// Emits events with index (where it was inserted/removed)  
    pub emitter: Emitter<ObservableListEvent, (T, int)>;
    ...  
pub class EntityList : ObservableList<T> {  
    ...