mapengine's People
mapengine's Issues
Implement shell commands for managing maps
- Load map from file
- Save map to file
- See Shell commands
Embed Lua engine
-
Embed Selene
class ScriptManager
{
private:
static ScriptManager Instance;
map<string,Script> scripts;
loadScripts(string path, bool checkIsSigned);
ScriptManager();
public:
Initialize();
ReloadScripts();
}; -
Support multiple types of scripts
- Official scripts ( PGP signed )
- Access to all engine APIs
- User scripts ( unsigned )
- Restricted access to API
- Official scripts ( PGP signed )
Filter log messages by log level
Make the Logger thread-safe
Run the Logger in its own low-priority thread.
- Check periodically if the queue has any messages
- If so, run the writeLog method
Logging
- Use a Logger class to manage all log messages
- Log to console
Decide on shell commands for map / config / engine management
- Document the syntax of possible shell commands, see Shell commands
Set up unit tests
Map manipulation
- The user can edit any tile on the loaded map
Implement message cueueing in the Logger
Cueue the log messages before outputting them, so that messages won't overlap when running the shell asynchronously.
Use the shell asynchronously
Call the shell loop asynchronously so it doesn't block the rest of the engine.
Map savefile format
- Decide on a savefile format for Maps
- One or multiple Objects per Tile?
- Include Object dictionary?
- Document in wiki
Implement map saving / loading
- engine can load or save a map from or to a file
Config management
- engine can load config from a file or a string
- engine can modify any config value
- engine can save the config to a file
Implement shell commands for managing engine
- Ending the engine
- see Shell commands
Implement shell commands for managing configs
- Load config from file
- Get / set specific config values
- Save config to file
- Clear current config
- See Shell commands
Embed interactive shell
Embed shell using metacran/linenoise-ng
Set up CI
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.