I'm using dot42 to develop simple 2D game in C# and target Android market. Game is pretty simple so I can manage to make things work on my own but since AndEngine seems to have already implemented all features I will need (pinch zoom, panning, proper scene workflow, etc) I thought it would be a good opportunity to get familiar with that engine. And since dot42 says it is possible to use jars what can go wrong?
Apparently a lot:
after including andengine.jar into project first I got
Cannot resolve B in context org.andengine.util.adt.spatial.quadtree.FloatQuadTree
which I eventually "fixed" by commenting out all 3 classes in that package after trying to find out which usage of that template class was causing it (As far as I saw all passed types derived from required interface so whatever...)
then I got 12 errors related to incorrect return type of abstract classes in hierarchy under IModifier, like this
'Org.Andengine.Entity.Modifier.SingleValueChangeEntityModifier.DeepCopy()': return type must be 'Org.Andengine.Util.Modifier.IModifier' to match overridden member 'Org.Andengine.Util.Modifier.BaseModifier.DeepCopy()' D:\Development\AndEngineTest\dot42Application1\obj\Debug\andengine.cs
Classes indicated by dot42 are abstract so they do not have implemetations of DeepCopy method which is implemented correctly in classes derived from those. So as far as I know everything should be ok because classes that can be instanciated have full implementation. And ok, those implementations do not return "same type" as method in interface at top (bottom? I always confuse that) of hierarchy but derived type of a class that implements that method, but again that should be perfectly ok. Especially that Java didn't complain about anything so drastic.
I have a feeling dot42 is getting lost somewhere in inheritance hierarchy if it gets too complex.
AndEngine was downloaded today from official branch, compiled with ADT bundle for Android 4.0.3 (lowest system version I decided to support). Compilation showed some warnings but they all were about deprecated things so I don't believe it would matter in this case.
So anybody tried and can share some hints? Maybe dot42 dev will again answer my question? :)