+ if (!controlled) return;
+ if (!controlled->TileLock(map->Tileset()->Width(), map->Tileset()->Height())) return;
+
+ if (input.IsDown(Input::PAD_UP)) {
+ controlled->SetOrientation(Entity::ORIENTATION_NORTH);
+ controlled->SetSpeed(walkingSpeed);
+ } else if (input.IsDown(Input::PAD_RIGHT)) {
+ controlled->SetOrientation(Entity::ORIENTATION_EAST);
+ controlled->SetSpeed(walkingSpeed);
+ } else if (input.IsDown(Input::PAD_DOWN)) {
+ controlled->SetOrientation(Entity::ORIENTATION_SOUTH);
+ controlled->SetSpeed(walkingSpeed);
+ } else if (input.IsDown(Input::PAD_LEFT)) {
+ controlled->SetOrientation(Entity::ORIENTATION_WEST);
+ controlled->SetSpeed(walkingSpeed);
+ } else {
+ controlled->SetSpeed(0.0f);
+ }