A模塊(項目主模塊)
Class A_Saple
B模塊(新建的模塊,非主模塊)
Class B_Saple
問題:在B_Saple中調用A_Saple的函數?
解決方式
1.在A模塊的.Build.cs文件的 PublicDependencyModuleNames.AddRange(
new string[]
{
"...之前要必須包含的模塊"
"B"
}
);
2.在Class B_Saple.h頭部聲明DECLARE_MULTICAST_DELEGATE(FOnSample)代理
類似這樣:
static
FOnSample OnSample;
static FOnSample& GetSampleDelegate() { returnOnSample; }
在Class B_Saple.cpp頭部聲明靜態變量
FOnSampleB_Saple::OnSample;
3.在A_Saplel類中找個合適的地兒給這個代理綁定函數
類似這樣:
B_Saple::GetSampleDelegate().AddUObject(this, &A_Saple::Test);
這樣的話,在B中想調用A中的綁定好的Test函數時,只需要執行多播就行,A模塊中的綁定函數會自動接收這邊的執行
if (OnSample.IsBound())
{
OnSample.Broadcast();
}