hestia-rsps / hestia

An open-source Kotlin game server.
BSD 3-Clause "New" or "Revised" License
16 stars 4 forks source link

Interface System Improvements #85

Closed GregHib closed 4 years ago

GregHib commented 4 years ago

API should look like this

sendWindow(permanent, parentId, widgetId, windowId)

setFullscreenWindow() = sendWindow(true, ...)
setMainWindow() = sendWindow(false, ...)
setBackgroundWindow() = sendWindow(false, ...)
setOverlayWindow() = sendWindow(true, ...)
setChatWindow() = sendWindow(true, ...)
setMenuWindow() = sendWindow(true, ...)

How many of these can be individual systems? How much communication between each system is for choosing who is blocking who? (never trust the client)

Should each method accept any Window or should there be set types for each system? E.g. Screen, Overlay, Box & Menu #82

Consider revisiting #45

GregHib commented 4 years ago

Current interface system doesn't support sending a script only on first open, and different script on open and refresh/update. E.g. container contents changes.