Enhance logging and make OnlinePlanExpansionExecutionEx an engine component

Signed-off-by: Muhamad Lotfy <mhesham.fcis@gmail.com>
Integrate IStrategizerBWAPIClient with Qt5

Signed-off-by: MHesham <mhesham.fcis@gmail.com>
Merge pull request #31 from MHesham/master

Logging enhancement phase 1 + Integration with QT5
Fix alot of warnings and use macro for simplifying writing serializabe objects

Signed-off-by: MHesham <mhesham.fcis@gmail.com>
Rename namespaces OLCBP and MetaData to IStrategizer
- Unify namespaces used in IStrategizer project to be IStrategizer only
- Use unit-defs for the planner methods STL container params

Signed-off-by: MHesham <mhesham.fcis@gmail.com>
Prepare BwapiClient to visualize planner
- Add new Planner View Widget UI classes
- Create and update the View Widgets

Signed-off-by: MHesham <mhesham.fcis@gmail.com>
Add logging support and add more logging to the planner and reasoner

Signed-off-by: MHesham <mhesham.fcis@gmail.com>
Merge pull request #34 from MHesham/master

Logging support and some code refactoring
Make all IStrategizer classes are inside IStrategizer namespace
- Use IStrategizer as the only namespace in the engine and remove all other namespaces, except BWAPI Client code which is not within any namespace yet, left for further refactoring
- Also prepare the engine to use WorldClock as the Update(*) methods parameter
- Remove the redundant serialization code in each serializable class declaration and replace it with OBJET_SERIALIZABLE macro

Signed-off-by: MHesham <mhesham.fcis@gmail.com>
Add the Logger class to be used for engine wide logging

Signed-off-by: MHesham <mhesham.fcis@gmail.com>
Use WorldClock for all update methods in the engine
- WorldClock is not singleton anymore, it is a member of IStrategizerEx class
- IStrategizer is the only class responsible for updating/resetting the engine clock
- The clock can be accessed as a readonly member using a read only accessor in IStrategizerEx
- Fix some "for (int i = bla bla bla" to "for (size_t i = bla bla bla" to avoid compilation warnings

Signed-off-by: MHesham <mhesham.fcis@gmail.com>
Fix TrainAction and BuildActionEx
- Fix TrainAction Alive/Success conditions
- Set proper state timeout for Train and Build actions
- Add IsTraining method inside GameEntity to test if a certain unit is training another unit
- Disable plan graph drawing in BWAPI Client for now
- Disable Case Revision until a proper Machine learning algorithm is used

Signed-off-by: MHesham <mhesham.fcis@gmail.com>
Merge pull request #36 from MHesham/master

Code re-factoring and logging addition with TrainAction fixed