User Tools

Site Tools


dragengine:modules:dragonscript:main

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
dragengine:modules:dragonscript:main [2015/06/17 23:35] dragonlorddragengine:modules:dragonscript:main [2024/03/14 11:33] (current) – [API Documentation] dragonlord
Line 1: Line 1:
 +{{tag>module scripting dragonscript}}
 <WRAP youarehere> <WRAP youarehere>
 [[:start|Start Page]] >> **DragonScript Script Module** [[:start|Start Page]] >> **DragonScript Script Module**
Line 4: Line 5:
  
 ====== DragonScript ====== ====== DragonScript ======
-The DragonScript is a scripting language has been developed to provide a few features I wanted to have in one place+DragonScript is a general purpose scripting language with a set of modules developed specifically for writing games. Its design was driven by the following guidelines
-  * Easy integration into C++ based projects (no C-style wrapping hacks and no singleton hacks) +
-  * Transparent support for native functions+
   * Simple syntax with little amount of keywords and quick to type   * Simple syntax with little amount of keywords and quick to type
-  * Strong typed +  * Strongly typed
-  * Strict forward parsing (no look-ahead nor looking back so well suited for compile-on-streaming)+
   * Fully object oriented (Integer is an object albeit optimized)   * Fully object oriented (Integer is an object albeit optimized)
 +  * Easy integration into C++ based projects (no C-style wrapping hacks and no singleton hacks)
 +  * Strict forward parsing (no look-ahead nor looking back so well suited for compile-on-streaming)
   * Block support with closure (no invisible class hacks or complicated functors or lambda expressions)   * Block support with closure (no invisible class hacks or complicated functors or lambda expressions)
 +  * Transparent support for native functions
  
 +Information about the APIs can be found here: [[api|DragonScript API Documentation]]
 ====== Syntax ====== ====== Syntax ======
 TODO TODO
 +
 +====== Visual Studio Code Extension ======
 +For Visual Studio Code there exists an Extension to do Syntax Highlighting. To install go to the "Extension Manager" in your Visual Studio Code and search for "dragonscript". The plugin is named "DragonScript Language Support".
 +
 +You can also look at the [[https://github.com/LordOfDragons/vscode-langext-dragonscript|extension source code]]. There you can also download the VSIX files in case you need to manually install it:
 +  * [[https://github.com/LordOfDragons/vscode-langext-dragonscript/releases/download/v1.0.0/dragonscript-language-support-1.0.0.vsix|dragonscript-language-support-1.0.0.vsix]]
  
 ====== API Documentation ====== ====== API Documentation ======
-  * Base DragonScript API: (uploading) +  * #@LinkApiDocDSLang_HTML~DragonScript Language API~@# 
-  * [[http://dragengine.rptd.ch/docs/dragonscript/scriptapi/latest|Drag[en]gine DragonScript Script API]]+  * [[https://developer.dragondreams.ch/docs/dragonscript/scriptapi/latest|Drag[en]gine DragonScript Script API]] 
 + 
 +====== Source Code ====== 
 +  * [[https://github.com/LordOfDragons/dragonscript|GitHub Repository]] 
 +  * [[https://github.com/LordOfDragons/dragonscript/releases/latest|Download: DragonScript Source Release (latest)]] 
 + 
 +====== Getting Started ====== 
 +Wiki pages containing information on how to get started with using the DragonScript Script Module to create games with. For Drag[en]gine general topics see [[:gamedev|Game Development with the Drag[en]gine]]. 
 +  * [[newproject|New Project]] 
 +  * [[abstractions|Abstraction Layers: How you want to build your Game]]
  
 ====== Implementation Details ====== ====== Implementation Details ======
-Wiki pages containing detailed implementation information about topics specific to DragonScript. For Drag[en]gine general topics see [[gamedev:main|Game Development with the Drag[en]gine]]. +Wiki pages containing detailed implementation information about topics specific to DragonScript. For Drag[en]gine general topics see [[:gamedev|Game Development with the Drag[en]gine]]. 
-  * [[gamedev:canvassystem:canvascreators|Canvas Creators]]+  * [[abstractions#behavior_elementsquick_and_easy_development|Behavior Elements]] 
 +  * [[canvascreators|Canvas Creators]] 
 +  * [[guitheme|Gui Themes]] 
 +  * [[locomotion|Locomotion]]
  
 ====== Script Examples ====== ====== Script Examples ======
Line 32: Line 53:
   * [[gamedev:canvassystem:renderworld|Canvas Render World]]   * [[gamedev:canvassystem:renderworld|Canvas Render World]]
   * [[gamedev:canvassystem:canvasview|Canvas Canvas View]]   * [[gamedev:canvassystem:canvasview|Canvas Canvas View]]
 +  * [[gamedev:canvassystem:capture|Capture Canvas]]
 +  * [[gamedev:collisionfiltering|Collision Filtering]]
 +  * [[gamedev:smoothvalue|Smooth Values]]
 +
 +====== Demo Projects ======
 +Included are also [[dragengine:modules:dragonscript|Demo Projects]] to look at scripts or using as starting base.
  
dragengine/modules/dragonscript/main.1434584143.txt.gz · Last modified: 2015/06/17 23:35 by dragonlord