{"action":"closed","issue":{"url":"https://api.github.com/repos/OpenRA/OpenRA/issues/6735","labels_url":"https://api.github.com/repos/OpenRA/OpenRA/issues/6735/labels{/name}","comments_url":"https://api.github.com/repos/OpenRA/OpenRA/issues/6735/comments","events_url":"https://api.github.com/repos/OpenRA/OpenRA/issues/6735/events","html_url":"https://github.com/OpenRA/OpenRA/issues/6735","id":45562191,"number":6735,"title":"Unified directory/namespace layout","user":{"login":"atlimit8","id":4957137,"avatar_url":"https://avatars.githubusercontent.com/u/4957137?v=3","gravatar_id":"","url":"https://api.github.com/users/atlimit8","html_url":"https://github.com/atlimit8","followers_url":"https://api.github.com/users/atlimit8/followers","following_url":"https://api.github.com/users/atlimit8/following{/other_user}","gists_url":"https://api.github.com/users/atlimit8/gists{/gist_id}","starred_url":"https://api.github.com/users/atlimit8/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atlimit8/subscriptions","organizations_url":"https://api.github.com/users/atlimit8/orgs","repos_url":"https://api.github.com/users/atlimit8/repos","events_url":"https://api.github.com/users/atlimit8/events{/privacy}","received_events_url":"https://api.github.com/users/atlimit8/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/OpenRA/OpenRA/labels/Idea","name":"Idea","color":"e102d8"},{"url":"https://api.github.com/repos/OpenRA/OpenRA/labels/Refactor","name":"Refactor","color":"00FFCC"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":18,"created_at":"2014-10-11T21:06:59Z","updated_at":"2015-02-16T14:50:42Z","closed_at":"2015-02-16T14:50:42Z","body":"Before OpenRA.Mods.Common gets too far, a standard layout of directories and namespaces should be created to (eventually) organize all mods including external ones. \r\nObviously, namespaces will be the same as the directory paths with `.` instead.\r\n\r\nOption 1 - based largely on current OpenRa.Mods.* & OpenRA.Game:\r\n * Activities\r\n * AI\r\n * Commands\r\n * Effects\r\n * FileFormats\r\n * FileSystem\r\n * GameRules\r\n * Graphics\r\n * Lint\r\n * Orders\r\n * Player\r\n * Primatives\r\n * Render\r\n  * Modifiers\r\n * Scripting\r\n  * Global\r\n  * Properties\r\n   * Player\r\n   * World\r\n * Server(Traits)\r\n * SpriteLoaders\r\n * SupportPowers\r\n * Traits\r\n * UtilityCommands\r\n * Warheads\r\n * Widgets\r\n  * Logic\r\n * World(Traits)\r\n\r\n\r\nOption 2:\r\n * Commands\r\n * FileFormats\r\n * FileSystem\r\n * GameRules\r\n * Graphics\r\n * Lint\r\n * Primatives\r\n * SpriteLoaders\r\n * UtilityCommands\r\n * Widgets (main widgets for mod)\r\n  * Logic\r\n * &lt;Category&gt; - grouped by functionality, usually in a separate namespace. &lt;Category&gt; must not be one of the above.\r\n  * Activities\r\n  * AI\r\n  * Effects\r\n  * Interfaces.cs - or -\r\n  * Interfaces\r\n    * Traits.cs\r\n    * &lt;Sub-category&gt;.cs\r\n  * Orders\r\n  * Render\r\n    * Modifiers  - or - just RenderModifiers\r\n  * Scripting\r\n    * Global - Lua globals (not a namespace)\r\n    * Properties - Actor script properties (not a namespace)\r\n      * Player - for the `Player` actor (not a namespace)\r\n      * World - for the `World` actor (not a namespace)\r\n  * SupportPowers\r\n  * Traits\r\n    * Player (not a namespace)\r\n    * World (not a namespace)\r\n  * Warheads\r\n  * Widgets\r\n    * Logic\r\nCategory names should agree between mods based on functionality.\r\n\r\n\r\n<bountysource-plugin>\r\n\r\n---\r\nWant to back this issue? **[Place a bounty on it!](https://www.bountysource.com/issues/5230004-unified-directory-namespace-layout?utm_campaign=plugin&utm_content=tracker%2F36085&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F36085&utm_medium=issues&utm_source=github).\r\n</bountysource-plugin>"}}