Closed MikeJeffers closed 3 years ago
The market displays remotely after the terminal becomes visible only after logging the character off and back on. I'm not versed enough in the client side of things yet to make anything but guesses as to why that is - I'm making the assumption though that it's to do with data not being pushed to the client for this purpose.
This PR does address the issue of visibility though, the remote market is not visible unless the terminal is.
Requires: https://github.com/OpenPerpetuum/PerpetuumServer/pull/333 (as a pre-req for any gamma market stuff) Closes: #332 The jury is still out on how it used to be. Existing code suggests that all Gamma orders are invisible remotely. But let's enhance that: This PR now features remote market order visibility for Gamma bases that a character can see (meaning the base is visible to them via the
PBSDockingBaseVisibility
value)This also increase the fetch speed on the
MarketItemsInRange
command because it is not doing 4 joins like theGetAllByDefinition
method, and it is not filtering the list after the fact in memory cleaning out training orders and corp order logic. It does have an initial query for markets (in memory), but I chose to cache this as remote market browsing generates a lot of rapid requests, its worth caching just for a few minutes.Also some related refactoring to encapsulate the visibility logic and reduce the frequency of the corp role query in that extension method.