public BoidIterator(Boid *ptr, int count)
 {
     _ptr     = ptr;
     _index   = -1;
     _current = 0;
     _count   = count;
 }
 public void OnBoidDestroy(Context context, Boid *entity)
 {
 }
 public void OnBoidCreated(Context context, Boid *entity)
 {
 }
 private int _GetOffsetOfBoid_Tag()
 {
     var tempObj = new Boid(); Boid *ptr = &tempObj; var filedPtr = &(ptr->Tag);  return((int)((long)filedPtr - (long)ptr));
 }