{"action":"closed","issue":{"url":"https://api.github.com/repos/unitystation/unitystation/issues/1083","repository_url":"https://api.github.com/repos/unitystation/unitystation","labels_url":"https://api.github.com/repos/unitystation/unitystation/issues/1083/labels{/name}","comments_url":"https://api.github.com/repos/unitystation/unitystation/issues/1083/comments","events_url":"https://api.github.com/repos/unitystation/unitystation/issues/1083/events","html_url":"https://github.com/unitystation/unitystation/issues/1083","id":326824111,"node_id":"MDU6SXNzdWUzMjY4MjQxMTE=","number":1083,"title":"Discussion: Easy to use networked Tabs/Windows","user":{"login":"fomalsd","id":10403536,"node_id":"MDQ6VXNlcjEwNDAzNTM2","avatar_url":"https://avatars3.githubusercontent.com/u/10403536?v=4","gravatar_id":"","url":"https://api.github.com/users/fomalsd","html_url":"https://github.com/fomalsd","followers_url":"https://api.github.com/users/fomalsd/followers","following_url":"https://api.github.com/users/fomalsd/following{/other_user}","gists_url":"https://api.github.com/users/fomalsd/gists{/gist_id}","starred_url":"https://api.github.com/users/fomalsd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fomalsd/subscriptions","organizations_url":"https://api.github.com/users/fomalsd/orgs","repos_url":"https://api.github.com/users/fomalsd/repos","events_url":"https://api.github.com/users/fomalsd/events{/privacy}","received_events_url":"https://api.github.com/users/fomalsd/received_events","type":"User","site_admin":false},"labels":[{"id":779025990,"node_id":"MDU6TGFiZWw3NzkwMjU5OTA=","url":"https://api.github.com/repos/unitystation/unitystation/labels/Security","name":"Security","color":"006b75","default":false},{"id":471306702,"node_id":"MDU6TGFiZWw0NzEzMDY3MDI=","url":"https://api.github.com/repos/unitystation/unitystation/labels/feature","name":"feature","color":"84b6eb","default":false},{"id":471306703,"node_id":"MDU6TGFiZWw0NzEzMDY3MDM=","url":"https://api.github.com/repos/unitystation/unitystation/labels/help%20wanted","name":"help wanted","color":"128A0C","default":true}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-05-27T15:11:29Z","updated_at":"2018-07-02T10:30:54Z","closed_at":"2018-07-02T10:30:54Z","author_association":"CONTRIBUTOR","body":"# Preliminary information\r\nThis does not concern client-based tabs/windows like Alt-click tabs\r\n\r\n## Category\r\nFeature Request\r\n\r\n# Report\r\n## Current Behaviour\r\nAt the moment everything is handled pretty low-level and scattered throughout a lot of places, therefore:\r\n- It's easy to forget to add some checks, lots of ways to accidentally compromise security,\r\n- Tons of boilerplate code,\r\n- Hard to understand for new devs, \r\n- ControlTabs is hardcoded and will soon turn into a mess\r\n\r\nWe need to make a robust and easy to use solution for networked windows/tabs before we have too much content in.\r\n\r\n## Expected/Wanted/Requested Behaviour\r\nHere's what I've come up with:\r\nRequirements:\r\n- Dynamic content support (for vendors that are hackable etc)\r\n- Built-in implicit interaction range and ability to use checks (server-side)\r\n- Tab opening is initiated on server\r\n- Player must not know the contents of dynamic content vendors on the distance\r\n- Multiple instances of the same window\r\n- Server must know if window is opened at the moment. (useful for sending regular updates to the window) Client could send a msg if he initiates close.\r\n- Window elements should be easily bindable (single- or bidirectional) to server methods. Server-to-client updates should be implicit. This should also have dynamic element support (like Vend buttons in item list for vendors)\r\n\r\nNice to have:\r\n- Tab templates stored somewhere outside Managers.prefab\r\n- Multi-user support: n players have the shuttle control window open and both receive same button/radar updates\r\n\r\nAny ideas?"}}
{"actor":{"display_login":"fomalsd"}}