{"action":"closed","issue":{"url":"https://api.github.com/repos/Cabal-Syndicate/randora_framework/issues/16","labels_url":"https://api.github.com/repos/Cabal-Syndicate/randora_framework/issues/16/labels{/name}","comments_url":"https://api.github.com/repos/Cabal-Syndicate/randora_framework/issues/16/comments","events_url":"https://api.github.com/repos/Cabal-Syndicate/randora_framework/issues/16/events","html_url":"https://github.com/Cabal-Syndicate/randora_framework/issues/16","id":104768980,"number":16,"title":"Create mixins for RNDOwned","user":{"login":"Master-Foo","id":1679201,"avatar_url":"https://avatars.githubusercontent.com/u/1679201?v=3","gravatar_id":"","url":"https://api.github.com/users/Master-Foo","html_url":"https://github.com/Master-Foo","followers_url":"https://api.github.com/users/Master-Foo/followers","following_url":"https://api.github.com/users/Master-Foo/following{/other_user}","gists_url":"https://api.github.com/users/Master-Foo/gists{/gist_id}","starred_url":"https://api.github.com/users/Master-Foo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Master-Foo/subscriptions","organizations_url":"https://api.github.com/users/Master-Foo/orgs","repos_url":"https://api.github.com/users/Master-Foo/repos","events_url":"https://api.github.com/users/Master-Foo/events{/privacy}","received_events_url":"https://api.github.com/users/Master-Foo/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"mattwollf","id":1235084,"avatar_url":"https://avatars.githubusercontent.com/u/1235084?v=3","gravatar_id":"","url":"https://api.github.com/users/mattwollf","html_url":"https://github.com/mattwollf","followers_url":"https://api.github.com/users/mattwollf/followers","following_url":"https://api.github.com/users/mattwollf/following{/other_user}","gists_url":"https://api.github.com/users/mattwollf/gists{/gist_id}","starred_url":"https://api.github.com/users/mattwollf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattwollf/subscriptions","organizations_url":"https://api.github.com/users/mattwollf/orgs","repos_url":"https://api.github.com/users/mattwollf/repos","events_url":"https://api.github.com/users/mattwollf/events{/privacy}","received_events_url":"https://api.github.com/users/mattwollf/received_events","type":"User","site_admin":false},"milestone":null,"comments":7,"created_at":"2015-09-03T19:51:46Z","updated_at":"2015-09-22T23:04:28Z","closed_at":"2015-09-22T23:04:28Z","body":"If you compare RNDOwned to RNDObject, you'll see it's a hot mess.\r\n\r\nTry to copy the file structure of RNDObject and use mixins to separate out the code into individual modules.\r\n\r\nHere are some things to note, in case you are not familiar with D packages.\r\n\r\nIn almost every folder there is going to be a `package.d` file. This is an index for everything in that package.\r\n\r\nThere will almost always be a file inside a folder with the same name as that folder.\r\n\r\nConvention for the properties module naming is as such...\r\n\r\npackage.d will be named like `module randora.engine.object.properties`\r\n\r\nproperties.d will be named like `module randora.engine.object.properties.properties` (Notice the redundant 'properties')\r\n\r\nGenerally speaking, you'd import the package, not the specific file in that package when you want to use something in a package.\r\n\r\nIt's kind of hard to explain, It's probably best to look at RNDObject and follow it as an example, then ask questions as they come up."}}