-
Notifications
You must be signed in to change notification settings - Fork 0
Home
This is a work in progress!
The Support Framework is a collection of basic components intended to accelerate the development of ImpactJS/Intel XDK based applications (or inspire other solutions).
Prerequisites:
- ImpactJS (http://impactjs.com/) is required (and knowledge of the basic folder structure of an ImpactJS based application). This repo is equivalent to the root of a folder containing the index.html to initialize the application.
Optional:
- Intel XDK: http://software.intel.com/en-us/html5/tools
Important Notes:
- I am not a JavaScript master
- I am learning more about JavaScript by working within the ImpactJS and Intel XDK environments/frameworks.
Upcoming Goals:
- Migrate existing code into the Support Framework repo
- Add a basic demo of the various components in action
- Lots of documentation
- Lots of code improvements
- Further support for Intel XDK specifics (input etc.)
Documentation is not complete and is definitely under construction!
In many of the code files it is common to find the reassignment of the long nested properties of a data or otherwise object to a local variable.
var Windows = ig.global.data.windows;
While the savings is minimal in most cases it also makes the code easier to read (the capitalization in particular makes these collections stand out).
Another reduction is in the form of data reuse. Certain components are intended to be referenced by others (ie. windows referenced by dialogs or custom menus). Any sort of object reuse you can use will cut down on your development time when making minor modifications. There are also a few instances of a "base" setting concept where the original definition can be reused and overridden as necessary.
Some of the files in the framework are just collections of other files. This is intended to avoid having to update numerous files just to add a new item type. There is also a minor code size optimization in doing so. One area to be wary of is circular references in the data. The various types currently do not overlap but if you make any modifications take care in checking what needs to reference what!
- \lib\data (contains all the data structures used by the support framework)
- \lib\game **
- \lib\impact *
- \lib\support
- \lib\weltmeister *
(*) items from ImpactJS (**) mix of your game and components/entities/data of the support system (more detail coming soon)
- Custom Menu
- Dialog
- Input Config Menu
- Input Configuration
- Level Manager
- Mode Stack
- Pause
- Save
- Util
- Window
var Windows = ig.global.data.windows;