插件的定义步骤:

  1. 定义一个新类,派生自ICryPlugin类
  2. 添加public的宏定义,包括父类信息和 自身信息,其中派生类的GUID需要重新生成,例如下面定义:

    CRYINTERFACE_SIMPLE(ICryPlugin)
    CRYGENERATE_SINGLETONCLASS(CGamePlugin, "Game_Blank", 0xF01244B0A4E74DC6, 0x91E10ED18906FE7C)
    

    其中,CGamePlugin为派生类,Game_Blank为派生类名称,用于获取CGamePlugin类对象,后面的GUID为工具生成的新id.

  3. 重载类的GetName,GetCategory 方法,如下:

    //! Retrieve name of plugin.
    virtual const char* GetName() const override { return "BlankGamePlugin"; }//! Retrieve category for the plugin.
    virtual const char* GetCategory() const override { return "Game"; }
    
  4. cryplugin.csv文件中:

    C++;BlankGamePlugin;Game_Blank;bin/win_x64/Game.dll;Assets
    

    以上定义表示

    C++: C++类型的DLL插件
    BlankGamePlugin:插件名称
    Game_Blank: 插件类名
    bin/win_x64/Game.dll:插件dll机所在路径
    Assets:资源文件夹名称
    
  5. stdafx.h中包含:
#include <CryCore/Platform/platform.h>

stdafx.cpp 中包含platform_impl.inl文件,(该文件也可包含在其他cpp文件中,整个项目紧包含一次,否则虫会重定义),
该文件中定义了如下导出函数:

    extern "C" DLL_EXPORT void ModuleInitISystem(ISystem* pSystem, const char* moduleName);

该函数用于LoadDLL后,默认调用的一个初始化函数,用于初始化全局变量。

CryEngine Plugin 创建相关推荐

  1. Capacitor Plugin创建

    首先打开终端, 运行 : npx @capacitor/cli plugin:generate 填写插件相关信息 Plugin NPM name:在npm上可用的名称. Plugin ID: 域名样式 ...

  2. 基于QT Plugin框架结构

    基于QT Plugin框架结构 2009-04-24 18:56:02|  分类: 日常总结|举报件一样,是一种计算机应用程序,它和主应用程序(host application)互相交互,以提供特定的 ...

  3. maven jacoco_使用JaCoCo Maven插件为单元和集成测试创建代码覆盖率报告

    maven jacoco 当我开始使用Java 7时,我立即注意到Cobertura Maven插件不支持它 . 这对我来说是个大问题,因为我每天都使用代码覆盖率报告. 我做了一些研究,发现了JaCo ...

  4. 使用JaCoCo Maven插件为单元和集成测试创建代码覆盖率报告

    当我开始使用Java 7时,我立即注意到Cobertura Maven插件不支持它 . 这对我来说是个大问题,因为我每天都使用代码覆盖率报告. 我做了一些研究,发现了JaCoCo代码覆盖库 . 看起来 ...

  5. [转] webpack之plugin内部运行机制

    简介 webpack作为当前最为流行的模块打包工具,几乎所有的主流前端开发框架(React.Vue等)都会将其作为默认的模块加载和打包工具.通过简单的配置项,使用各种相关的loader和plugin, ...

  6. 积木Sketch Plugin:设计同学的贴心搭档

    多年来,美团外卖一直在高速增长,但整个客户端的UI组件一直没有得到很好的统一.而在开发过程中因UI缺乏同一的标准导致各种问题凸显,积木插件Sketch Plugin应运而生.外卖技术团队将其打造成为U ...

  7. CryEngine 3引擎Forest Demo画质初窥

    CryEngine是目前最著名.技术最先进.画质最出色的3D图形引擎.使用CryEngine引擎制作的游戏很多都是图形效果惊人的精品大作,从早期的CryEngine到现在,CryEngine已经发布了 ...

  8. (译)创建火狐浏览器(NPAPI)插件(一)

    目录 Introduction 介绍 Plugin architecture 插件架构 Plugin API vs Scripting API 插件API与脚本API NPAPI What makes ...

  9. wordpress创建_十分钟即可在WordPress中创建动态小部件

    wordpress创建 Have you tried to find functionality for a specific purpose in WordPress but failed to f ...

  10. OpenVINO开发教程之八 – 道路分割

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:opencv学堂 模型介绍 基于OpenVINO预训练模 ...

最新文章

  1. 浅析自助式商城网站的制作步骤——简单易上手
  2. ML之SVM:SVM算法的简介、应用、经典案例之详细攻略
  3. docker 不包含依赖 打包_Docker容器技术(概念篇)
  4. 中科大 计算机网络13 FTP文件传输协议
  5. mysql error trace_防止DedeCMS错误警告日志data/mysql_error_trace.inc暴露后台管
  6. 【汇编优化】之X86架构优化公用头讲解
  7. 如何设计一个能够扩展到百万用户的系统?
  8. Flutter之Stepper源码浅析
  9. [转载] 高等应用数学问题的matlab求解——第4章 线性代数问题的计算机求解
  10. java init是什么
  11. 我看朴灵评注阮一峰的《JavaScript 运行机制详解:再谈Event Loop》
  12. 图解在EXCEL中,通过身份证自动获得出生日期和性别。
  13. homebrew安装常见错误解决
  14. Oracle ERP 仓库(inventory) 词汇 2
  15. 如何快速跑一个sumo的交通仿真
  16. hive 之多表查询
  17. arduino声音传感器与二极管_怎样使用Arduino构建基于声音传感器的警报
  18. JAVA计算机毕业设计智能超市导购系统Mybatis+源码+数据库+lw文档+系统+调试部署
  19. 计算机网络软考英语题,软考:网络工程师英文真题.doc
  20. 捷联惯导系统学习7.5(低成本组合导航系统模型)

热门文章

  1. SEO入门知识2:不同角度看seo
  2. sql end关键字
  3. 【期货期权】11月12日午盘盘面及涨跌逻辑解析
  4. Ubuntu断点续传
  5. Repeating Annotations
  6. 关于Python入门的常用工具Wing你了解多少
  7. itext实现横向pdf打印
  8. 让你快速逃离万能五笔的广告
  9. 软件架构风格介绍和总结
  10. 23.Consent 代码重构