Programming

Overview

  • Why Lua?

C++

C++ code style

  • Folder naming example: source/someFolderHere/lowerCamelCase/
  • File naming example: lowerCamelCase.h
  • Indenting: 4 spaces (not tabs)
  • Trim trailing spaces ON
  • Function and variable names, camelCase
  • “Class” names, upper camel case (PascalCase), example: MyCoolClass

Lua ref manual

Sandbox

Extension system

The Extensions system is used to communicate events to all systems in the game.

It uses a broadcasting approach to send events. Events are named strings which can be any unique name. An event can have zero or more arguments, data, attached to it and passed on to all interested systems.

The extensions systems will find all loaded modules which have exposed a matching function for the event and call them. If the event has data, the data will be passed into the function call.

Extensions file naming

  • Folder naming example: someFolderHere/lowerCamelCase/
  • File naming example: lowerCamelCase.lua
  • GE exposed things
  • scenetree

Reference Manual

API Changelog