Inventory, Season, Land and Account panels will load lazily. Background of these panels will load at the start but the items of these panels will only load upon opening those panels. Reason for this is to keep the opening animation of these panels. Caching mechanism was already there and no changes have been done to it.
[Optional] Currently all the items in the inventory, Season and Account panels are being load simultaneously so in the second commit this behavior has been changed. Now only predefined number of items will load at the same time and rest will wait in the queue for previous ones to complete their loading process.
Further Improvements
Currently upon receiving SpriteSheet an interval starts to render those sprite into the canvas. When the amount of items increases these intervals keeps adding up and disturbs the main rendering because they are not in sync. Maybe a system can be develop keep all these canvases and render them on certain tick.
Character Selection and Character Panel also has same behavior of loading at the start so it can be altered.
Inventory does not has scrolling currently.
What are the steps for a QA tester to test this pull request?
Open the scene https://local.webaverse.com/
Press Tab and load the inventory. Inventory will start to load. previously it will be loaded from start.
Press Tab to close the inventory.
Press Tab again to open inventory and check that items are already loaded from cache and do not load second time.
If there are more then 5 items in the inventory then first 5 will load first then next 5 then another 5 and so on.
Issue ticket number and link
N/A
Screenshots and/or video
Checklist before requesting a review
[x] I have performed a self-review of my code
[x] I am not adding any irrelevant code or assets
[x] I am only including the changes needed to implement the change
[x] I have playtested and intentionally tried to find error cases but couldn't
[x] I have completed the entire QA checklist on my PR
Describe your changes
In this PR Below changes are added
Further Improvements
What are the steps for a QA tester to test this pull request?
https://local.webaverse.com/
Tab
and load the inventory. Inventory will start to load. previously it will be loaded from start.Tab
to close the inventory.Tab
again to open inventory and check that items are already loaded from cache and do not load second time.Issue ticket number and link
N/A
Screenshots and/or video
Checklist before requesting a review