在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:NoahGameFrame开源软件地址:https://gitee.com/kytoo/NoahGameFrame开源软件介绍:NoahGameFrameTutorial && Documentshttps://github.com/ketoo/NoahGameFrame/wiki What is NoahGameFrame?NoahGameFrame (NF) is a lightweight, fast, scalable, distributed plugin framework. NF is greatly inspired by OGRE and Bigworld. Features
Tutorial && Documentshttps://github.com/ketoo/NoahGameFrame/wiki ArchitectureApp Architecture:Server ArchitectureGet the Sources:git clone https://github.com/ketoo/NoahGameFrame.git or svn checkout https://github.com/ketoo/NoahGameFrame Dependencies
Tutorial && Documentshttps://github.com/ketoo/NoahGameFrame/wiki IF YOU CAN NOT BUILD THE DEPENDENCIES THEN PLEASE RUN THE CMDS BELOW TO SET UP THE ENVIRONMENT:
Supported Compilers
Build and InstallFOR WINDOWS, MSVC >= 2019
FOR LINUX(UBUNTU, CENTOS) ---- please use administrator(or sudo) to do these:
IF YOU LIVING IN A COUNTRY CANNOT ACCESS GITHUB FASTLY PLZ BUILD NF WITH VPNHOW TO RUN HELLO WORLDhttps://github.com/ketoo/NoahGameFrame/wiki/How-to-run-the-Helloworld HOW TO DEBUG WITH UNITY3Dhttps://github.com/ketoo/NoahGameFrame/wiki/How-to-debug-with-unity3d Unity Multiplayer DemoWebSite: https://github.com/ketoo/NFUnitySDK Tutorial && Documentshttps://github.com/ketoo/NoahGameFrame/wiki LicenseThe NFrame project is currently available under the Apache License. Tutorial:01-Hello world, add a module// -------------------------------------------------------------------------// @FileName : HelloWorld1.h// @Author : ketoo// @Date : 2014-05-01 08:51// @Module : HelloWorld1//// -------------------------------------------------------------------------#ifndef NFC_HELLO_WORLD1_H#define NFC_HELLO_WORLD1_H#include "NFComm/NFPluginModule/NFIPluginManager.h"class HelloWorld1 : public NFIModule{public: HelloWorld1(NFIPluginManager* p) { pPluginManager = p; } virtual bool Init(); virtual bool AfterInit(); virtual bool Execute(); virtual bool BeforeShut(); virtual bool Shut();protected:};#endif#include "HelloWorld1.h"bool HelloWorld1::Init(){ // Use this for initialization std::cout << "Hello, world1, Init" << std::endl; return true;}bool HelloWorld1::AfterInit(){ // AfterInit is called after Init std::cout << "Hello, world1, AfterInit" << std::endl; return true;}bool HelloWorld1::Execute(){ // Execute is called once per frame //std::cout << "Hello, world1, Execute" << std::endl; return true;}bool HelloWorld1::BeforeShut(){ //before final std::cout << "Hello, world1, BeforeShut" << std::endl; return true;}bool HelloWorld1::Shut(){ //final std::cout << "Hello, world1, Shut" << std::endl; return true;} 02-Hello world, test data driver
03-Hello world, test heartbeat and event system
04-Hello actor, test actor model(async event system)
How to Create a New LuaScriptModuleStep 1Create a Lua Script File, and Must Contain following functions
Mostly like this test_module.luatest_module = {}register_module(test_module,"test_module");function test_module.awake()endfunction test_module.init()endfunction test_module.after_init()endfunction test_module.ready_execute()endfunction test_module.before_shut()endfunction test_module.shut()end ##Step 2Add your LuaScriptModule Infomation into script_list.lua ScriptList={ {tbl=nil, tblName="TestModule"}, {tbl=nil, tblName="TestModule2"},}load_script_file(ScriptList) ##Hot fixAdd your lua script file name on here script_reload.lua New Feature in future: Blue Print System Demo: About The Author
Amazing open source projects:breeze
gce
moon
Tutorial && Documents |
请发表评论