loadMap(new TestMap()); $player = new Player(0, Color::GREEN, true); $player->setWorld($game->getWorld()); $player->setPosition(new Point()); $collider = new PlayerCollider($player); //////// if (isset($_GET['crouch'])) { // TODO crouch, move animation $player->crouch(); for ($tick = 0; $tick <= Setting::tickCountCrouch(); $tick++) { $player->onTick($tick); } } $playerState = $player->serialize(); $playerParts = []; foreach ($collider->getHitBoxes() as $box) { $geometry = $box->getGeometry(); if ($geometry instanceof SphereGroupHitBox) { foreach ($geometry->getParts() as $part) { $playerParts[$box->getType()->value][] = [ "center" => $part->getRelativeCenter()->toArray(), "radius" => $part->radius, ]; } continue; } throw new Exception("Unknown geometry '" . get_class($geometry) . "' given"); } ?> Player model Generator