{"action":"opened","issue":{"url":"https://api.github.com/repos/SFTtech/openage/issues/329","labels_url":"https://api.github.com/repos/SFTtech/openage/issues/329/labels{/name}","comments_url":"https://api.github.com/repos/SFTtech/openage/issues/329/comments","events_url":"https://api.github.com/repos/SFTtech/openage/issues/329/events","html_url":"https://github.com/SFTtech/openage/issues/329","id":97066411,"number":329,"title":"Purge engine singleton","user":{"login":"TheJJ","id":673543,"avatar_url":"https://avatars.githubusercontent.com/u/673543?v=3","gravatar_id":"","url":"https://api.github.com/users/TheJJ","html_url":"https://github.com/TheJJ","followers_url":"https://api.github.com/users/TheJJ/followers","following_url":"https://api.github.com/users/TheJJ/following{/other_user}","gists_url":"https://api.github.com/users/TheJJ/gists{/gist_id}","starred_url":"https://api.github.com/users/TheJJ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TheJJ/subscriptions","organizations_url":"https://api.github.com/users/TheJJ/orgs","repos_url":"https://api.github.com/users/TheJJ/repos","events_url":"https://api.github.com/users/TheJJ/events{/privacy}","received_events_url":"https://api.github.com/users/TheJJ/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/SFTtech/openage/labels/c++","name":"c++","color":"000000"},{"url":"https://api.github.com/repos/SFTtech/openage/labels/easy","name":"easy","color":"ccee20"},{"url":"https://api.github.com/repos/SFTtech/openage/labels/improvement","name":"improvement","color":"84b6eb"},{"url":"https://api.github.com/repos/SFTtech/openage/labels/just%20do%20it","name":"just do it","color":"3fe5bf"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-07-24T14:34:15Z","updated_at":"2015-07-24T14:34:15Z","closed_at":null,"body":"In our big mission to remove all global state, we can remove the engine singleton the following way:\r\neach subsystem, upon initialization, gets passed the engine pointer.\r\nMember functions of this subsystem can then use `this->engine->` to access the engine instead of `auto engine& = Engine::get(); engine.bla()`.\r\n\r\nThe engine is then a simple instance created as already implemented in #288 (merged soon(tm))."}}