yaqwsx / Civilizace2

Game system for the second year of Civilizace
2 stars 0 forks source link

Netisknout v entity parseru #180

Closed yaqwsx closed 1 year ago

yaqwsx commented 2 years ago

Entity parser má metodu reportError, která má měnitelné chování podle toho, v jakém kontextu EntityParser běží. V entity parseru by se nemělo tisknout na standardní výstup. Pokud je třeba, je možné přidělat něco jako reportInfo nebo reportWarning.

Dělá to bordel na jiných místech, kde se entity používají (třeba při načítání v běžícím serveru).

Ondraceq commented 1 year ago

Fixed by refactoring entity parser. Now parse method takes ErrorHandler, which has options to configure reporting. It can report errors and warning, by default, the errors are soft where possible (failing to create entity is hard error since it could lead to false positives later). Also there is an option to report the result by a separate function.