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:
📄️ Layered Structure Diagram of Client Engine
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 Modes
Script-based Projects
📄️ Development Environment Setup
The recommended development environment: Visual Studio 2015 + Win SDK 8.1.
📄️ New Projects
Project Types
📄️ Fmake Configurations
Configuration Instructions
📄️ Coding Standards
C/C++ Coding Standards
📄️ Component Based Logic Layer Framework
LGameInstance and Script Context
📄️ Reflection
Last Updated Time: 09/05/2023
📄️ Types and Properties Meta
Last Updated Time: 11/22/2023
📄️ 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
We use Lua 5.1.5 scripts, please refer to the official documentation for syntax and tutorials.
📄️ Programming Guide for 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 Arrows
📄️ Command Line Parameters
fx\_main.exe can accept command line parameters, the relevant available parameters are as follows:
📄️ Startup Configuration Files
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.
📄️ Component Network Programming Overview
The Flexi Engine provides a network programming framework based on component objects, which can simplify the complexity of multiplayer game programming to compile both the Client and the Server with only a single copy of code. This document outlines the concepts used in multiplayer game programming.
📄️ Multiplayer Programming Quick Start
Developing game processes for multiplayer games require implementing replication in the game's GameObject. It is also necessary to design features specific to the Server (acting as the host of the game session) and the Client (representing the player connected to the session).
🗃️ Performance
2 items
📄️ Project Plugins
Last Updated Time: 11/27/2023