Programming and Scripting
📄️ Engine Overall Structure
The Flexi Engine is divided into client and server versions. The combined use of them includes the following two modes:
📄️ Client Engine Layered Structure
Note: Orange indicates the features to-be-implemented, Green indicates the existed features that need to be improved.
📄️ Basic Module Diagram of Client Engine
2022-09-30-21-11-24-521036
📄️ Development Mode
Script-based Project
📄️ Development Environment Setup
When installing VS high version, check the v140 installation option; after VS high version is installed, please download Windows SDK 8.1 from Microsoft official website.
📄️ New Project
Project Type
📄️ Component Based Logical Layer Framework
LGameInstance and Script Context
📄️ Reflection
Reflection Mark Macros Header
📄️ Types and Properties Meta
When writing C++ classes, filling in the appropriate types and properties meta according to the specification controls whether the properties can be edited in the Editor, how they interact with the property Editor and with the serialization mechanism (whether they are saved, whether to skip serialization, etc.).
📄️ Serialization and Type Default Objects
Component framework provides serialization mechanism. And based on serialization mechanism and type default objects (Each object inherited from LObject will generate a type default object when needed.), unified object copying and pasting, unified save (only difference value), prefab and prefab synchronization can be achieved currently.
📄️ Scripts
Properties
📄️ Math Library
Overview
📄️ UI
Through the built-in Editor of the Engine, after making a UI file, you can load it through the loader provided by Gui object and add it to SceneBox to display it. Reference code:
📄️ Drawing Helper Examples
Drawing Arrow
📄️ Command Line Parameters
fx\_main.exe can accept command line parameters, the relevant available parameters are as follows:
📄️ Startup Configuration File
A startup configuration file needs to be configured for fx\_main.exe to start correctly. Take game\_framework\_editor.ini as an example to illustrate the related configuration options as follows:
📄️ Console
Flexi Console is the console output panel of the Flexi Editor, including features such as Log output, code debugging, and Log viewing.
📄️ Project Settings
Click Config -> Project Settings to open the Project Settings window.
📄️ Project Plugins
The existing features of the Editor can be extended by plugins that currently support two creation methods: Lua script and C++ dynamic library.
📄️ Project Publish
Setting Engine Path (Except for Non-CPP Code Project)