Esempio n. 1
0
        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);
                }
            }
        }
Esempio n. 2
0
        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++;
        }
Esempio n. 3
0
        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++;
        }
Esempio n. 4
0
 public static DynValue flr(ScriptExecutionContext executionContext, CallbackArguments args)
 {
     return(exec1(args, "flr", (x) => FixMath.Floor(x)));
 }