zoukankan      html  css  js  c++  java
  • [UE4]多播代理

    1. 第一种

    DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FReceiveDelegateEvent, FString, Value1, FString, Value2);
    
    UPROPERTY(BlueprintAssignable, Category = "Event")
    FReceiveDelegateEvent  ReceiveDelegateEvent;
    UFUNCTION(BlueprintCallable, Category = "My|MyActor")
    void BroadcastToBluePrint(FString value1, FString value2);
    
    void AMyActor::BroadcastToBluePrint(FString value1, FString value2)
    {
      this->ReceiveDelegateEvent.Broadcast(value1, value2);
    }

    2.第二种

    .h

    // Fill out your copyright notice in the Description page of Project Settings.  
      
    #pragma once  
      
    #include "UObject/NoExportTypes.h"  
    #include "Kismet/BlueprintAsyncActionBase.h"  
    #include "MyObject.generated.h"  
      
    /** 
     *  
     */  
    UCLASS()  
    class TTTTT_API UMyObject : public UBlueprintAsyncActionBase  
    {  
        GENERATED_BODY()  
          
    public:  
      
        DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FTestDelegate, FString, Content, int32, StatusCode);  
      
        UFUNCTION(BlueprintCallable, Category = "MyObject")  
            static UMyObject* DDDelegate(FString url,  FString Content);  
      
        UPROPERTY(BlueprintAssignable)  
            FTestDelegate OnSuccess;  
      
        UPROPERTY(BlueprintAssignable)  
            FTestDelegate OnFail;  
    private:  
        void DDUseDelegate(bool bSucceeded);  
    };  

    .cpp

    // Fill out your copyright notice in the Description page of Project Settings.  
      
    #include "TTTTT.h"  
    #include "MyObject.h"  
      
    UMyObject* UMyObject::DDDelegate(FString url, FString Content)  
    {  
        UMyObject* Helper = NewObject<UMyObject>();  
      
        return Helper;  
    }  
      
    void UMyObject::DDUseDelegate(bool bSucceeded)  
    {  
        if (bSucceeded)  
        {  
            OnSuccess.Broadcast("",0);  
        }  
        else  
        {  
            OnFail.Broadcast("", 1);  
        }  
    }  

  • 相关阅读:
    记MongoDB的安装
    Python格式化输出指定宽度及占位符
    LMDB数据库加速Pytorch文件读取速度
    IDEA设置输入后自动提示
    IDEA2020 最新激活
    java 编译执行cmd命令
    算法9:What is the sum of the digits of the number 21000
    JAVA8 LocalDateTime
    算法8:已知 a^2+b^2=c^2(a,b,c 为自然数,a<b<c),且a+b+c=1000,求abc的值?
    ROS学习笔记
  • 原文地址:https://www.cnblogs.com/timy/p/8683949.html
Copyright © 2011-2022 走看看