Open Maxdg95 opened 7 years ago
It is possible that your UIPage asset is corrupted. Could you attach it to this issue so we can try on our end? Also which version of Xenko are you using?
Kryptos,
Using Version 1.9.3Beta I've attached the UIPage asset UIPage.zip
I think if found the issue, for some reason the page lost the sprite links. im trying to edit the corrupted one within a text editor and relink the sprite sheets.
Indeed those should be reference to a sprite sheet, not an empty one. It looks like the serialization failed at some point and replace the link with an empty sprite sheet. There is definitely a bug here. I will try to reproduce it.
allright, I'll try to copy the sprite link from a new page to the bugged one and see if that will fix it.
Okay I tried to fix it. and it did -kinda-. Its throwing a new error, and might be a lead to the bug.
Error: Failed to load asset from path [C:/Users/GS/Documents/XE_KENO_SW/MyGame/MyGame/Assets/Shared/uhn.xkuipage]. Reason: (Lin: 0, Col: 0, Chr: 0) - (Lin: 1, Col: 0, Chr: 14): Error while deserializing node [Mapping start [anchor = , tag = !UIPageAsset, isImplicit = False, style = Normal]]
Attached the -fixed- page
Hey Kryptos,
Any update on the issue?
Looks like all the DependencyProperties
are incorrect now (compared to your first attached file). Did you also edit those? Or did you save again after opening the corrupted file?
I will try to restore them and see if I can open the UIPage.
PS: sorry for the delay. We have been busy with GDC the last few weeks. I've to admit I did not have time to spent on your issue.
There are also a bunch of copy/paste issue when you manually edited the file.
Such as CurrentFrame: 124b1c-4c80-a8e4-770462882918:UI/Toggles/SpriteSheet
(while CurrentFrame
is expecting an index inside a SpriteSheet
) and some duplication of CurrentFrame : 12
lines).
Please note that doing manual changes is very risky (although I understand that in your case you were desperately trying to recover your work). On top of that your file is very big, I'll advice against making a UI that big.
To make the UI simpler, you could create a page that contains only some placeholder containers (such as Grid, Canvas...). Then you create specific controls in UILibrary and you either add them to the UI by instantiating those controls from a script or you later edit a copy of page (so that you keep a layout model just in case) and instantiate those control from the UILibrary using the editor.
The GameMenu samples demonstrates instantiating parts of the UI at runtime.
Anyway here is a fixed version of your UIPage (FixedPage.zip). Please note that the design might be broken as some SpriteSheet frames might have the wrong index. But at least you can open and edit it.
I couldn't reproduce the issue that produced the corrupted file yet. I'll continue investigating.
Allright no troubles Kryptos, hope you had a good time at GDC in SanFran. I'll go work on your idea and instantiate on runtime! Thanks for the fixed page
Removing the UIPage from the asset folder through Explorer fixes it, goes through and properly loads the project. but that means I have to recreate the UIPage all over AGAIN...
--System info-- Operating System: Windows 10 Pro 64-bit (10.0, Build 14393) (14393.rs1_release.161220-1747) Language: English (Regional Setting: English) BIOS: Default System BIOS Processor: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz (8 CPUs), ~3.4GHz Memory: 4096MB RAM Available OS Memory: 4052MB RAM Page File: 3690MB used, 1770MB available Windows Dir: C:\Windows DirectX Version: DirectX 12