Esempio n. 1
0
 /// 生存するインスタンスに対してラムダ式を実行する
 public void ForEachExist(FuncT func)
 {
     foreach (var obj in _pool)
     {
         if (obj.Exists)
         {
             func(obj);
         }
     }
 }
Esempio n. 2
0
 /// 全要素を走査し、その座標の値を関数に渡す
 public void ForEach(FuncT func)
 {
     for (var j = 0; j < Height; j++)
     {
         for (var i = 0; i < Width; i++)
         {
             int val = Get(i, j);
             func(i, j, val);
         }
     }
 }
Esempio n. 3
0
    // 生存するインスタンスに対してラムダ式を実行する
    //
    // 例:
    //      // ボスを倒したので、敵をすべて消滅させる
    //      Enemy.parent.ForEachExist(t => t.Vanish());
    //
    //      // 生成数をカウントする
    //      Enemy.parent.ForEachExist(t => ret++);
    //
    public void ForEachExist(FuncT func, int limit = 0)
    {
        int cnt = 0;

        foreach (var obj in _pool)
        {
            if (cnt >= limit && limit != 0)
            {
                break;
            }

            if (obj.Exists)
            {
                func(obj);
            }
            cnt++;
        }
    }