So hey, I'm still going through the code bit by bit, following the logic. I've just passed the part where the Main Menu begins and I'm looking through some of the essential code. My personal write-up isn't ready to be shown yet, but in the mean time after looking through the code for a while I've gotta say something.
Immortius, dude, you are an epic coder, full of wizard tricks and clever ways and means, but for the love of everything please please PLEASE comment your code! I don't know where you learn all this stuff but if you expect people to be able to just understand it, you're putting way too much faith in programming schools!
I mean, let's be serious, the other code isn't much better. But the parts you've done don't even say what they are, apart from their name.
I go to StateMainMenu.java and I get
Code:
/**
* The class implements the main game menu.
* <p/>
* TODO: Add screen "Multiplayer"
* TODO: Add animated background
*
* @author Benjamin Glatzel <benjamin.glatzel@me.com>
* @author Anton Kireev <adeon.k87@gmail.com>
* @author Marcel Lehwald <marcel.lehwald@googlemail.com>
* @version 0.3
*/
I go into EntitySystemBuilder.java and I get
Code:
/**
* @author Immortius
*/
I mean, throw me a bone here, guys! XD
Especially when you call functions outside of the current class, it would be really nice if you made a short comment saying what you were actually doing. I'm going up and down all sorts of chains of classes to figure out what this and that call are for.
I'm in the EntitySystemBuilder class right now 'cause it's the first thing called in the init function of the StateMainMenu class, and EntitySystemBuilder is all about making a PersistantEntityManager, so that's two right there. Then right in the EntitySystemBuilder you're using ComponentLibraryImpl and PojoPrefabManager, which implement some interfaces, and what does Pojo even mean?
I'm pretty sure I understand what you're doing in this code, and it's impressive, but it's also really hard to read without a lot of running around.