手把手教你做插件(2)模块大串联
0,前言
这篇文章笔记比较简略,大部分的操作都是和上一篇文章重复了,建议先看上一节文章,直达电梯:UE4 手把手教你做插件(1) 从代码引用插件_asiwxy的博客-CSDN博客UE4 手把手教你创建插件
https://blog.csdn.net/asiwxy/article/details/129082592?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22129082592%22%2C%22source%22%3A%22asiwxy%22%7D
我看的是 技术宅阿棍儿 的视频,B站有。
系列视频:从代码引用插件_哔哩哔哩_bilibili
上一节我们完成绿色的线条,从游戏模块调用了第三方插件的代码。
本节主要是为了说明游戏和插件两边都可以创建很懂模块,并且各个模块之间可以相互依赖。
注意:要记住各个模块的名字,红线的顺序就是函数调用的顺序,绿线就是我们上一节的内容
1,创建两个新的模块
(1)拷贝代码
视频建议是直接拷贝,拷贝源是MyThirdPlugin2模块
视频作者的代码链接:Leon/PluginAndSlate
注意拷贝完代码之后,需要修改。
(2)代码修改
1,.cs文件修改
UE4_PluginAndSlate.Build.cs
UE4_PluginAndSlate.Target.cs
UE4_PluginAndSlateEditor.Target.cs
AnotherGame.Build.cs
Another.Build.cs
2,MyGameModeBase.cpp
将UThirdLibInvoker换成UAnotherGameInvoker
void AMyGameModeBase::BeginPlay() {Super::BeginPlay();UAnotherGameInvoker* Lib = NewObject<UAnotherGameInvoker>();Lib->InvokeLib(); }
3,AnotherGameInvoker.h
UCLASS() class ANOTHERGAME_API UAnotherGameInvoker : public UObject {GENERATED_BODY() public:void InvokeLib(); };
注意:ANOTHERGAME_API这个宏要更改为:模块名_API,不然编译的时候会报:dll链接错误
4,AnotherInvoker.h
UCLASS() class ANOTHER_API UAnotherInvoker : public UObject {GENERATED_BODY() public:void InvokeLib(); };
注意:ANOTHER_API这个宏要更改为:模块名_API,不然编译的时候会报:dll链接错误
相关文章:

手把手教你做插件(2)模块大串联
0,前言 这篇文章笔记比较简略,大部分的操作都是和上一篇文章重复了,建议先看上一节文章,直达电梯:UE4 手把手教你做插件(1) 从代码引用插件_asiwxy的博客-CSDN博客UE4 手把手教你创建插件https:…...
LU Accepted or Rejected过程介绍
本文介绍LU成功和失败的过程。 LU accepted过程 [MS->NW] MM__LOCATION_UPDATING_REQUEST(LU type:MM_NORMAL_LU) MM_T3210_TIMER_ID Timer starts [NW->MS] MM__LOCATION_UPDATING_ACCEPT MM_T3210_TIMER_ID Timer stopped 通过OTA消息LOCATION_UPDATE_REQUEST查看LU ty…...

Teradata退了? 无所谓,GBASE会出手
近期,就在2月15日,国内IT界有搞出个大瓜,Teradata以对中国当前及未来商业环境的不确定性,慎重考虑后决定退出中国运营,后续将进入中国公司关闭程序。Teradata是一家有着40多年历史的数据仓库企业,被业界专业…...
华为OD机试 - 病菌感染(Python) | 机试题+算法思路+考点+代码解析 【2023】
病菌感染 题目 在一个地图中(地图有N*N个区域组成) 有部分区域被感染病菌 感染区域每天都会把周围上下左右的四个区域感染 请根据给定的地图计算多少天以后全部区域都会被感染 如果初始地图上所有区域都被感染 或者没有被感染区域返回-1 备注 1 <= N < 200 输入 一行…...
前置知识-边值问题、打靶法、bvp 系列函数的用法
1.2 边值问题 微分方程边值问题(Boundary Value Problem,简称BVP)是微分方程求解中的一个重要问题。与初值问题(Initial Value Problem,简称IVP)不同,BVP是在某个区间内寻求微分方程解的特定边界条件下的解。 在实际问题中,许多微分方程的解必须满足一些特定的边界条…...
为什么越来越多的企业选择智能客服系统?
现在智能客服系统越来越普遍,但是大部分的企业在配备智能客服系统的同时也会配置人工客服。因为目前为止,智能客服并不可以完全取代人工客服。智能客服系统之所以能够受到众多企业的青睐,主要是存在以下几点原因: 1、反应速度快&a…...

打造一款日志分析工具
一、简介 作为一名安全从业者,网络安全事件的应急响应工作是必不可少的,那么在应急支撑时,针对大量的日志数据便需要借助自动化工具实现快速的归类检测,并提取出所需的关键日志数据。本篇文章主要通过利用python语言编写一款web日…...
网络编程基础知识
套接字类型:1.字节流套接字(stream) 2.数据报接套接字(datagram) 3.原始套接字(raw) 端口:1.周知端口: 0~1023 2.注册端口: 1024~49151 3.动态端口: 49152~65535 OSI七层协议结构应用层表示层会话层...
2023北京老博会(CBIAIE全国老年产业必参盛会)
CBIAIE北京老博会|把握政策导向,迎合市场需求,引导销售渠道建设,搭建国际化的商业平台; 2023第十届中国(北京)国际老年产业博览会(CBIAIE北京老博会) The 2023 tenth China (Beijin…...

【字典转模型 Objective-C语言】
一、点按钮,弹出的这个效果,这实际上是个Label, 这实际上是一个Label,点按钮弹出的这个效果, 设置一个Label的背景色、前景色、透明度、等等, 让它加进来,然后通过动画让它隐藏掉, 这就是,这个效果的实现思路, 咱们这个效果,先稍微往后放一放, 这个并不是重点…...

【LeetCode】剑指 Offer(6)
目录 写在前面: 题目:剑指 Offer 12. 矩阵中的路径 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 写在前面ÿ…...

论文投稿指南——中文核心期刊推荐(法律)
【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…...

Qt音视频开发15-动态切换解码内核的设计
一、前言 动态切换解码内核这个需求也是源自客户的真实需求,既然是动态切换,那肯定是运行期间切换,而不是通过改变标志位重新编译程序来切换,最开始做的就是这种方式,这样就是实现起来简单,但是用起来不够…...
concurrent-map 和 sync.Map,我该选择哪个?
官方的map并不是线程安全的,如果我们在多线程中并发对一个map进行读写操作,是会引发panic的。解决方案除了使用锁来对map进行保护外,还有两种方式:一,开源项目 concurrent-map 提供了可以用来做并发安全的map二&#x…...
华为OD机试 - 最少数量线段覆盖| 机试题算法思路 【2023】
最近更新的博客 华为OD机试 - 简易压缩算法(Python) | 机试题算法思路 【2023】 华为OD机试题 - 获取最大软件版本号(JavaScript) 华为OD机试 - 猜字谜(Python) | 机试题+算法思路 【2023】 华为OD机试 - 删除指定目录(Python) | 机试题算法思路 【2023】 华为OD机试 …...

【蓝桥集训】第五天——递推
作者:指针不指南吗 专栏:Acwing 蓝桥集训每日一题 🐾或许会很慢,但是不可以停下来🐾 文章目录1.砖块递推算法是一种简单的算法,通过已知条件,利用特定关系得出中间推论,逐步递推&…...
qnx的网络知识记录
1、网络驱动加载http://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.core_networking/topic/drivers_Loading.html使用mount挂载io-pkt模块mount -Tio-pkt /lib/dll/devnp-e1000.sonicinfo 命令可以查看网卡的各种状态,包括phy的状态2、iopktiopkt的介…...

【Vue/基础知识】Vue基础知识(一)
如果觉得我的分享有一定帮助,欢迎关注我的微信公众号 “码农的科研笔记”,了解更多我的算法和代码学习总结记录。或者点击链接扫码关注 【Vue/基础知识】Vue基础知识(一) 1、v-show 和 v-if 指令的共同点和不同点? 共…...

Iceberg实战踩坑指南
第 1 章 介绍 Apache Iceberg 是一种用于大型分析数据集的开放表格,Iceberge 向 Trino 和 Spark 添加了使用高性能格式的表,就像 Sql 表一样。 Iceberg 为了避免出现不变要的一些意外,表结构和组织并不会实际删除,用户也不需要特…...

预告|2月25日 第四届OpenI/O 启智开发者大会昇腾人工智能应用专场邀您共启数字未来!
如今,人工智能早已脱离科幻小说中的虚构想象,成为可触及的现实,并渗透到我们的生活。随着人工智能的发展,我们正在迎来一个全新的时代——数智化时代。数据、信息和知识是这个时代的核心资源,而人工智能则是这些资源的…...
android 之 MediaExtractor
MediaExtractor 是Android多媒体处理的基础组件,解封装是其核心价值。 一、功能与定位 MediaExtractor 是Android多媒体框架中的媒体解封装工具,主要作用是从媒体文件(如MP4、MKV、MP3)中分离音视频轨道数据,为后续解…...

HarmonyOS开发:显示图片功能详解
目录 前言 Image组件基础 1、Image组件概述 2、加载图片资源 3、存档图类型数据源 (1)本地资源 (2)网络资源 (3)Resource资源 (4)媒体库file://data/storage (…...
抖音怎么下载没有水印的视频?
你是不是经常在抖音上刷到喜欢的视频,想保存下来却总是带着烦人的水印?无论是想收藏精彩片段,还是二次创作,水印都成了“拦路虎”。别急!今天就来教你3种超简单方法,轻松下载无水印抖音视频,高清…...
RISC-V 开发板 + Ubuntu 23.04 部署 open_vins 过程
RISC-V 开发板 Ubuntu 23.04 部署 open_vins 过程 1. 背景介绍2. 问题描述3. 解决过程3.1 卸载旧版本3.2 安装 Suitesparse v5.8.03.3 安装 Ceres Solver v2.0.03.4 解决编译爆内存问题 同步发布在个人笔记RISC-V 开发板 Ubuntu 23.04 部署 open_vins 过程 1. 背景介绍 最近…...
java复习 05
我的天啊一天又要过去了,没事的还有时间!!! 不要焦虑不要焦虑,事实证明只要我认真地投入进去一切都还是来得及的,代码多实操多复盘,别叽叽喳喳胡思乱想多多思考,有迷茫前害怕后的功…...

软件功能测试报告都包含哪些内容?
软件功能测试报告是软件开发生命周期中的重要文档,主要涵盖以下关键内容: 1.测试概况:概述测试目标、范围和方法,确保读者对测试背景有清晰了解。 2.测试环境:详细描述测试所用的硬件、软件环境,确保…...
Kali Linux 安全工具解析
Kali Linux 安全工具解析 目录 Kali Linux 安全工具解析一、Kali Linux 概述1.1 核心特性1.2 系统要求 二、核心工具分类与实战应用2.1 信息收集工具2.1.1 Nmap2.1.2 Recon-ng2.1.3 theHarvester 2.2 漏洞利用工具2.2.1 Metasploit Framework2.2.2 SQLMap2.2.3 Burp Suite 2.3 …...
二进制安全-IDA Pro-API
idaapi 是 IDA Pro(Interactive Disassembler Professional) 反汇编工具的 Python API 接口,用于开发自动化脚本、插件和自定义分析工具。通过 idaapi,开发者可以访问 IDA Pro 的核心功能(如反汇编、符号分析、交叉引用…...
【Dv3Admin】系统视图字典管理API文件解析
业务系统中静态数据管理常被忽视,但它直接影响到扩展性与维护效率。字典模块通过集中管理各类基础数据,避免硬编码,使系统具备更高的灵活性和适配能力,成为后台管理平台的重要基础组件。 文章解析 dvadmin/system/views/dictiona…...

redis分片集群架构
主从集群解决高并发,哨兵解决高可用问题。但是任然有两个问题没有解决:1海量数据存储问题;2高并发写的问题(如果服务中有大量写的请求) 那就可以采用分片集群架构解决这些问题 分片集群特征 分片集群中有多个master…...