docs work
This commit is contained in:
parent
daa8159100
commit
c17d8750e2
@ -1,6 +1,7 @@
|
||||
@page architectureindex Engine Architecture
|
||||
|
||||
[TOC]
|
||||
- @subpage networking
|
||||
- @subpage serverSceneManagement
|
||||
- @subpage fluidsimindex
|
||||
- @subpage worldstorageindex
|
||||
|
||||
4
docs/src/architecture/networking/networking.md
Normal file
4
docs/src/architecture/networking/networking.md
Normal file
@ -0,0 +1,4 @@
|
||||
@page networking Networking
|
||||
|
||||
[TOC]
|
||||
@subpage synchronization Synchronization
|
||||
3
docs/src/architecture/networking/synchronization.md
Normal file
3
docs/src/architecture/networking/synchronization.md
Normal file
@ -0,0 +1,3 @@
|
||||
@page synchronization Synchronzation
|
||||
|
||||
TODO
|
||||
@ -8,24 +8,15 @@ A chief problem we want to avoid is allowing people to 'escape' the scripting en
|
||||
|
||||
|
||||
|
||||
# Startup
|
||||
On startup, the script engine loads a number of files required to polyfill basic javascript ecosystem functionality.
|
||||
Once these are integrated, the engine loads typescript and the compiler.
|
||||
The compiler is used to translate scene files and mod files into javascript that the runtime environment can actually execute.
|
||||
|
||||
# On adding different instances of the scripting engine
|
||||
There should be a single monolithic instance of the scripting engine
|
||||
All context-dependent scripts running should have their context provided
|
||||
|
||||
IE, lets say I'm the client and I want to fire an event when a client-side effect completes,
|
||||
I'd provide a copy of the client's scene as a part of the function call on javascript side
|
||||
That way for any unforseen reason the client could still get access to the server's objects
|
||||
|
||||
IE, lets say I'm a script running on a specific scene on the server,
|
||||
I'd provide the specific scene to the function call
|
||||
|
||||
IE, lets say I'm some script firing every time a user logs in,
|
||||
I'd provide the new user object and the global server user tracking service
|
||||
That way you could still drill down to individual scenes on the server if you needed to
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# On loading a scene
|
||||
When a scene is loaded, the scene and all dependent files are compiled from typescript to javascript.
|
||||
Then, an instance of this scene is created which will store values set by the scene.
|
||||
This instance is returned to the java side where it is associated with the java instance of the scene.
|
||||
|
||||
# On firing a hook
|
||||
When a hook fires, java side calls a JS-side function that supplies the hook, values provided alongside the hook, and the scene which the hook was fired within.
|
||||
@ -135,7 +135,7 @@ public class Globals {
|
||||
public static boolean RUN_DEMO = false;
|
||||
public static boolean RUN_CLIENT = true;
|
||||
public static boolean RUN_HIDDEN = false; //glfw session will be created with hidden window
|
||||
public static boolean RUN_AUDIO = false;
|
||||
public static boolean RUN_AUDIO = true;
|
||||
public static int clientCharacterID;
|
||||
|
||||
//
|
||||
|
||||
Loading…
Reference in New Issue
Block a user