unreal-engine4 - UE4 RPCs Function _Implementation not called
问题描述
要开始,我很抱歉,但我的英语说得不太好。
我的.h:
UFUNCTION()
void AttachToPlayer(USkeletalMeshComponent* Mesh, const FName &SocketName);
UFUNCTION(Server, Reliable, WithValidation)
void ServerAttachToPlayer(USkeletalMeshComponent* Mesh, const FName &SocketName);
virtual void ServerAttachToPlayer_Implementation(USkeletalMeshComponent* Mesh, const FName &SocketName);
virtual bool ServerAttachToPlayer_Validate(USkeletalMeshComponent* Mesh, const FName &SocketName);
我的cp:
void ABagPlayer::AttachToPlayer(USkeletalMeshComponent* Mesh, const FName &SocketName)
{
if (Role == ROLE_Authority)
{
GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Red, TEXT("TEST"));
}
else
{
ServerAttachToPlayer(Mesh, SocketName);
}
}
bool ABagPlayer::ServerAttachToPlayer_Validate(USkeletalMeshComponent* Mesh, const FName &SocketName)
{
return true;
}
void ABagPlayer::ServerAttachToPlayer_Implementation(USkeletalMeshComponent* Mesh, const FName &SocketName)
{
AttachToPlayer(Mesh, SocketName);
}
我不明白为什么,当我的客户端启动函数“AttachToPlayer”时,没有调用函数“ServerAttachToPlayer_Implementaion”。但是,如果是调用“AttachToPlayer”的服务器,则调用“ServerAttachToPlayer_Implementaion”函数。
我已经尝试了很多东西,我正在拉我的头发!
谢谢你的帮助
解决方案
推荐阅读
- apache-kafka - 可以使用 Kafka Streams 代替 Producer 吗?
- python - Pandas 或 Numpy 中是否有从表中填充数据框的功能
- python - Tensorflow:加载大数据的现代方式
- asp.net - 在 ASP.Net Core 2.2 中定义不同的 API 以接受不同的大小限制
- c# - 如何链接对 Application.ThreadException 的调用?
- actionscript-3 - FlashDevelop 启动问题 - 插件问题
- typescript - 处理回调
定义 - android - 如何快速更改 Imageresource?
- c++ - 断言失败 CV_Assert( CV_IS_MAT(objectPoints) && CV_IS_MAT(imagePoints) && CV_IS_MAT(A) && CV_IS_MAT(rvec) && CV_IS_MAT(tvec) )
- r - 如何使用 R 中的条件计算日期之间的差异