Worldspace and project file structure
Contens
Overview
You develop applications in the context of an SymOntoClay worldspace. A worldspace contains the files for one or more projects. The project is a collection of files which defines behavior or information of NPC and information about Thing, Place or Player. The project is unit which is linked to Unity Game object with special asset.
The SymOntoClay CLI soc new creates new worldspace.
The created worldspace contains an initial skeleton and is ready to run and easy to modify.
General file structure
Here is general project file structure.
my-worldspace/ Libs/ lib1/ lib1.slib lib1.soc lib2/ lib2.slib lib2.soc Navs/ GreenWaypoint/ GreenWaypoint.sobj GreenWaypoint.soc Npcs/ MyNPC/ MyNPC.sobj MyNPC.soc Players/ RedPlayer/ RedPlayer.sobj RedPlayer.sobj SharedLibs/ stdlib/ stdlib.slib stdlib.soc LinguisticVariables.soc Relations.soc Rules.soc Things/ MyBarrel/ MyBarrel.sobj MyBarrel.soc World/ my-world.world my-world.soc my-worldspace.wspace
Files and directories meaning
my-worldspace/
It is a root directory of your worldspace. The name of the root directory can be whatever you want.
Directory World are required.
Another directories can be in any count and can have any names. The meaning of these directories - grouping projects.
Libs/
It is a root directory of your libraries.
To create a library, use the command:
Navs/
Groups projects which are defining information about navigation elements, like waypoints, areas, roads and something like this.
To create a Navigation element, use the command:
Npcs/
Groups projects which are defining NPCs' behavior and information.
To create an NPC, use the command:
Players/
Groups projects which are defining information about players.
To create a Player, use the command:
SharedLibs/
Required
This directory contains shared libs.
To install a shared library, use the command:
Available shared libraries you can see here.
Things/
Groups projects which are defining information about things.
To create a Thing, use the command:
World/
Required
Defines general information about world.
World creates automatically during creation new project.
To create a world in empty directory, use the command:
.wspace
Required
Locator of worldspace.
.world
Required
Locator of world's project.
.sobj
Required
Locator of project.
.slib
Required
Locator of library.
.soc
Source code on SymOntoClay DSL.