-
Notifications
You must be signed in to change notification settings - Fork 4.2k
System
Shubhangi edited this page Jul 31, 2018
·
5 revisions
In our Thang Component System architecture, the Systems fulfill three roles.
- Systems are unto Levels as Components are unto Thangs. For example, if I want my Level to have gravity, I add the
MovementSystem and configure its gravity to 9.81 m/s^2. - They also serve as namespaces for the Components. As an example, the
PhysicsSystem doesn't actually do anything on its own yet, but it was a good place to putphysics.PhysicalComponent, which controls the size, shape, rotation, and position of all physical Thangs. - They can coordinate behavior across those Components. For example, the
CollisionSystem will look at all the Thangs which have thecollidesproperty set and update its Box2D-based collision simulation once per frame, instead of each Thang with aCollidesComponent trying to figure out its own collision interactions.
You can also live-edit the code for any System directly within the Systems tab of the Level editor, just like in the Component example.
To see all the entity data for, say, the Movement System, I can just go to http://localhost:3000/db/level_system/movement.
CodeCombat | Home | Blog | Forum | Teachers | Legal | Contribute
- Home
- Archmage Home
- Artisan Home
- Diplomat Home
- Archmage General
- Mission statement
- Coco Models
- Coding Guidelines
- Cookbook
- File system
- JSON Schema
- Technical overview
- Testing
- Third party software and services
- Artisan General
- Building A Level
- Coding Guidelines for Artisans
- Editing Thang Components
- Important Artisan Concepts
- Keyboard Shortcuts
- Debugging
- Artisan How-To Index
- Diplomat General
- i18n
- i18n Glossary nb
- i18n Glossary ru
- i18n Glossary es-419
- Dev Setup
- Dev Setup: Linux
- Dev Setup: Windows
- Dev Setup: Mac
- Dev Setup: Vagrant
- Dev Setup: Issues
- Game Engine
- Component
- Multiplayer
- Surface
- System
- Thang
- Thang Component System
- Tome
- World
- Artisan Tabs
- Components And Systems
- Scripts
- Settings
- Thangs
- Other
- Aether
- Client models
- Developer organization
- Educational Standards
- Events, subscriptions, shortcuts
- Chat Room
- Chat Room Rules
- Permissions
- Project Ideas List
- Treema
- Versioning
- Views
