手把手教你做插件(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

        注意拷贝完代码之后,需要修改。

扫描二维码关注公众号,回复: 14779586 查看本文章

(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链接错误

猜你喜欢

转载自blog.csdn.net/asiwxy/article/details/129092094