void World::PlayerCommand(std::string command, const std::vector<std::string>& arguments, Command_Source* from) { std::unique_ptr<System_Command_Source> system_source; if (!from) { system_source.reset(new System_Command_Source(this)); from = system_source.get(); } PlayerCommands::Handle(util::lowercase(command), arguments, from); }