X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fworld%2FWorld.h;h=8a00f60541302a489d8e34565c916eecea3f7b5d;hb=e4732374394610bdd3deafd2138cbea267a670e0;hp=f15d43b8ae818c0a9a6cacf51baa230b48866763;hpb=3694504331ca888f2cacbcb841a83c402d26934a;p=gworm.git diff --git a/src/world/World.h b/src/world/World.h index f15d43b..8a00f60 100644 --- a/src/world/World.h +++ b/src/world/World.h @@ -22,6 +22,8 @@ public: public: void Update(float dt); + bool InBounds(Vector pos) const + { return pos.x > 0 && pos.y > 0 && pos.x < size.x && pos.y < size.y; } int Index(Vector pos) const { return pos.x * size.y + pos.y; } float MassAt(Vector pos) const { return masses[Index(pos)]; } @@ -33,6 +35,9 @@ public: Entity &AddEntity(const Entity &); Vector ForceAt(Vector, float m) const; + bool WorldCollision(const Entity &, Vector &) const; + Vector NormalAt(Vector) const; + bool IsSurface(Vector) const; private: Vector size;