Game engine lib and editor
Posted
by
luke
on Game Development
See other posts from Game Development
or by luke
Published on 2012-06-27T11:32:57Z
Indexed on
2012/06/27
15:27 UTC
Read the original article
Hit count: 223
I would like to know the best way/best practice to handle the following situation. Suppose the project you are working on is split in two sub-projects:
- game engine lib
- editor gui.
Now, you have a method bool Method( const MethodParams ¶ms )
that will be called during game-level initialization. So it is a method belonging to the game engine lib. Now, the parameters of this method, passed as a reference the structure MethodParams
can be decided via the editor, in the level design phase. Suppose the structure is the following:
enum Enum1
{
E1_VAL1,
E1_VAL2,
};
enum Enum2
{
E2_VAL1,
E2_VAL2,
E2_VAL3,
};
struct MethodParams
{
float value;
Enum1 e1;
Enum2 e2;
// some other member
}
The editor should present a dialog that will let the user set the MethodParams struct.
A text control for the field value
. Furthermore, the editor needs to let the user set the fields e1
and e2
using, for example, two combo boxes (a combo box is a window control that has a list of choices). Obviously, every enum should be mapped to a string, so the user can make an informed selection (i have used E1_VAL1
etc.., but normally the enum would be more meaningful). One could even want to map every enum to a string more informative (E1_VAL1
to "Image union algorithm", E1_VAL2
to "Image intersection algorithm" and so on...).
The editor will include all the relevant game egine lib files (.h etc...), but this mapping is not automatic and i am confused on how to handle it in a way that, if in future i add E1_VAL3
and E1_VAL4
, the code change will be minimal.
© Game Development or respective owner