Steps to recreate issue:
0) Create a level with two rectangle shapes in them (just use default names)
1) Add a custom property to 'Rectangle_1' of type 'Linked item' with any name
2) Choose 'Rectangle_2' for the value of the custom property you just created
3) Save the level
4) Restart Gleed2D
5) Load the level you just saved
6) Click on 'Rectangle_1'
7) Click on the dropdown box for the custom property (as if you were going to edit the value)
8) An error will pop up saying, "Unable to cast object of type 'System.String' to type 'Gleed2D.InGame.LinkedItem'."
If you save the level after doing these steps the custom property's value will be changed from 'Rectangle_2' to '$null$'.
I dug around in the code and tracked the cast that fails to line 24 of LinkedItemUiTypeEditor.cs in Gleed2D.Core.CustomUITypeEditors.
Steps to recreate issue: 0) Create a level with two rectangle shapes in them (just use default names) 1) Add a custom property to 'Rectangle_1' of type 'Linked item' with any name 2) Choose 'Rectangle_2' for the value of the custom property you just created 3) Save the level 4) Restart Gleed2D 5) Load the level you just saved 6) Click on 'Rectangle_1' 7) Click on the dropdown box for the custom property (as if you were going to edit the value) 8) An error will pop up saying, "Unable to cast object of type 'System.String' to type 'Gleed2D.InGame.LinkedItem'."
If you save the level after doing these steps the custom property's value will be changed from 'Rectangle_2' to '$null$'.
I dug around in the code and tracked the cast that fails to line 24 of LinkedItemUiTypeEditor.cs in Gleed2D.Core.CustomUITypeEditors.