public void Remove(Entity <Game> entity, ref AABB aabb) { var l = (int)FixMath.Floor(aabb.L / CellSize); var b = (int)FixMath.Floor(aabb.B / CellSize); var r = (int)FixMath.Floor(aabb.R / CellSize); var t = (int)FixMath.Floor(aabb.T / CellSize); for (var i = b; i <= t; i++) { for (var j = l; j <= r; j++) { RemoveProxyAt(entity, j, i); } } }
public void Query(ref AABB aabb, SpatialDatabaseCallback callback) { var l = (int)FixMath.Floor(aabb.L / CellSize); var b = (int)FixMath.Floor(aabb.B / CellSize); var r = (int)FixMath.Floor(aabb.R / CellSize); var t = (int)FixMath.Floor(aabb.T / CellSize); for (var i = b; i <= t; i++) { for (var j = l; j <= r; j++) { EnumerateBodies(j, i, callback); } } _stamp++; }
public void Add(Entity <Game> entity, Shape shape, ref AABB aabb) { var l = (int)FixMath.Floor(aabb.L / CellSize); var b = (int)FixMath.Floor(aabb.B / CellSize); var t = (int)FixMath.Floor(aabb.T / CellSize); var r = (int)FixMath.Floor(aabb.R / CellSize); for (var i = b; i <= t; i++) { for (var j = l; j <= r; j++) { if (Find(entity, j, i) == null) { AddProxyAt(entity, shape, j, i); } } } _stamp++; }
public static DynValue flr(ScriptExecutionContext executionContext, CallbackArguments args) { return(exec1(args, "flr", (x) => FixMath.Floor(x))); }