Sieht doch soweit ganz ok aus. Vielleicht hilft dir auch die Tatsache, dass du Abhängigkeiten immer möglichst nur in eine Richtung haben solltest, wie es die anderen dir schon klar machen wollten. Das bedeutet, mach dir doch erstmal unabhängig von dem PlayState Gedanken über deine Tilemap-Klasse. Was soll die können? Ein Level laden und darstellen. Und das hast du soweit sogar meiner Meinung nach korrekt gemacht, denn du hast eine load() Methode und eine draw()-Methode zum zeichnen. Das sind die essenziellen Fähigkeiten deiner Klasse. Damit würde ich an start gehen und versuchen, ein Objekt von Typ Tilemap zu erstellen, ein Level aus Datei zu laden und darzustellen.
Danach kannst du dir weitere Fähigkeiten überlegen, die deine Tilemap-Klasse bereitstellen soll. mi fällt tatsächlich nur eine Kollisionsmethode ein, oder um eine Position auf der Tilemap in Pixelkoordinaten umzurechnen, um Figuren drauf zu platzieren usw.
Und wie du vielleicht gemerkt hast: hierbei habe ich nicht wirklich was zum PlayState gesagt, weil der der Tilemap total egal sein kann. Was soll er denn damit?