Latest: adam_24sep2006.plan
I put in a good 6 hours today and got an ok amount accomplished. There was a good bit of refactoring and additions to the code base I worked on last time. But today’s focus was on user input.
I created the Mode Service Framework Service. In traditional event based frameworks this would be called the dispatcher. It takes input and generates and dispatches events to where they are supposed to go.
It is now to the point where I can receive keyboard input and perform an action specified by a class that inherits from the Mode base class. The big things that the Mode Service does is controls a stack of Modes. The idea is there are different situations that will require input to be handled differently.
So if say the program starts up with a GUI to select a file to load, mouse clicks will be dispatched to GUI components. Then once a 3D file is selected a new Mode will be pushed onto the stack. Now mouse input is used to rotate or move the 3D world.
The next step with this is designing the actual messages. I need to figure out exactly what is required for a versatile message struct which will be what is passed around inside the framework. Then my now working Mode Service can generate a message and dispatch it to an Element.
As you might imagine the design of the message / event struct is absolutely mission critical so I am taking some time to design it.
After that is all set up I will be moving onto the Resource Manger service and my Scene Graph!
- Adam
I created the Mode Service Framework Service. In traditional event based frameworks this would be called the dispatcher. It takes input and generates and dispatches events to where they are supposed to go.
It is now to the point where I can receive keyboard input and perform an action specified by a class that inherits from the Mode base class. The big things that the Mode Service does is controls a stack of Modes. The idea is there are different situations that will require input to be handled differently.
So if say the program starts up with a GUI to select a file to load, mouse clicks will be dispatched to GUI components. Then once a 3D file is selected a new Mode will be pushed onto the stack. Now mouse input is used to rotate or move the 3D world.
The next step with this is designing the actual messages. I need to figure out exactly what is required for a versatile message struct which will be what is passed around inside the framework. Then my now working Mode Service can generate a message and dispatch it to an Element.
As you might imagine the design of the message / event struct is absolutely mission critical so I am taking some time to design it.
After that is all set up I will be moving onto the Resource Manger service and my Scene Graph!
- Adam
Post a Comment
.plan Archive
.plan rss
adam_23feb2010.plan
adam_25sep2009.plan
adam_03may2009.plan
adam_07may2008.plan
adam_20nov2007.plan
adam_02nov2007.plan
adam_12oct2007.plan
adam_03oct2007.plan
adam_26sep2007.plan
adam_31jul2007.plan
adam_17jul2007.plan
adam_05jul2007.plan
adam_31may2007.plan
adam_16may2007.plan
adam_01may2007.plan
adam_28apr2007.plan
adam_11apr2007.plan
adam_08apr2007.plan
adam_03apr2007.plan
adam_31mar2007.plan
adam_29mar2007.plan
adam_29mar2007.plan
adam_26mar2007.plan
adam_04mar2007.plan
adam_27feb2007.plan
adam_08feb2007.plan
adam_02feb2007.plan
adam_01feb2007.plan
adam_28jan2007.plan
adam_27jan2007.plan
adam_26jan2007.plan
adam_22jan2007.plan
adam_18jan2007.plan
adam_06jan2007.plan
adam_28dec2006.plan
adam_22dec2006.plan
adam_17dec2006.plan
adam_14dec2006.plan
adam_28nov2006.plan
adam_26nov2006.plan
adam_24nov2006.plan
adam_11nov2006.plan
adam_02nov2006.plan
adam_31oct2006.plan
adam_25oct2006.plan
adam_19oct2006.plan
adam_16oct2006.plan
adam_09oct2006.plan
adam_28sep2006.plan
adam_24sep2006.plan
adam_21sep2006.plan
adam_23feb2010.plan
adam_25sep2009.plan
adam_03may2009.plan
adam_07may2008.plan
adam_20nov2007.plan
adam_02nov2007.plan
adam_12oct2007.plan
adam_03oct2007.plan
adam_26sep2007.plan
adam_31jul2007.plan
adam_17jul2007.plan
adam_05jul2007.plan
adam_31may2007.plan
adam_16may2007.plan
adam_01may2007.plan
adam_28apr2007.plan
adam_11apr2007.plan
adam_08apr2007.plan
adam_03apr2007.plan
adam_31mar2007.plan
adam_29mar2007.plan
adam_29mar2007.plan
adam_26mar2007.plan
adam_04mar2007.plan
adam_27feb2007.plan
adam_08feb2007.plan
adam_02feb2007.plan
adam_01feb2007.plan
adam_28jan2007.plan
adam_27jan2007.plan
adam_26jan2007.plan
adam_22jan2007.plan
adam_18jan2007.plan
adam_06jan2007.plan
adam_28dec2006.plan
adam_22dec2006.plan
adam_17dec2006.plan
adam_14dec2006.plan
adam_28nov2006.plan
adam_26nov2006.plan
adam_24nov2006.plan
adam_11nov2006.plan
adam_02nov2006.plan
adam_31oct2006.plan
adam_25oct2006.plan
adam_19oct2006.plan
adam_16oct2006.plan
adam_09oct2006.plan
adam_28sep2006.plan
adam_24sep2006.plan
adam_21sep2006.plan