List view
Currently, the GUI still uses the core Simulation for testing simulation communication. However, ExtSim is intended as the main interface for communicating with the simulation. This is because ExtSim is supposed to provide essential components for making the game work properly. It provides input constraints that depends on data files; it implements several Weapon/Bullet/Program/Ability behaviors that are tailored to the main game; it provides a system to read data files; and it provides a system to simplify a lot of the interaction with simulation that would otherwise have to be implemented manually. This milestone seeks a basic implementation of two aspects: Data loading, and input passing though constraints. Data loading from the GUI side concerns itself with loading data files from the disk (or other sources), and passing them through to the ExtSim in the right order and loading phase. In addition, the GUI may want to attach data loading listeners such as for loading the sources of Bot graphics files and similar. Data loading from the ExtSim side concerns itself with properly loading the data, creating simulation and extsim data objects associated with id for them, and creating an accessible list of errors and warnings that the data files caused. It should also implement support for listeners so that the GUI may load any special data from the same data sources if it so desires. Input passing from the GUI side concerns itself with making a set of RuleParameter listeners and using them to determine how parameters should be passed. It should also build input objects and send them into ExtInput. Input passing from the ExtSim side concerns itself with providing a solid interface to aid the GUI in creating input, and properly constraining input before passing it through to the Simulation. In addition it should provide a system to create Save objects from the input passed in such a way that saving and sending its input to a different ExtSim object should cause the exact same behavior.
No due date•3/4 issues closed