zoukankan      html  css  js  c++  java
  • ue4 python修饰器

    UClass Decorators (Python)

    @unreal.uclass(), @unreal.ufunction() and @unreal.uproperty()

    Description

    By default, ordinary Python classes, functions and properties do not get exposed to Unreal's UObject reflection system, which means standard Python classes cannot fully override Unreal base classes, standard Python functions cannot subscribe to Unreal events or delegates, and standard Python properties cannot be accessed from C++ through UObject reflection.

    The decorators @unreal.uclass() @unreal.ufunction() and @unreal.uproperty() are required to correctly expose classes, functions and properties to Unreal's reflection system, and provide Unreal-specific metadata, much like the UCLASS(), UFUNCTION() and UPROPERTY() defines in C++.

    Parameters

    The @unreal decorators in Python require a somewhat different set of parameters compared to their C++ equivalents. These are some of the parameters to the @unreal.ufunction() decorator in Python:

    • ret=<type> - Specifies the return type of the function. Python functions with the ufunction() decorator usually have only one return value. Required unless override=True.

    • params=[<type>,...] - Specifies the types of the arguments to the function. Required unless override=True.

    • override=True - Specifies that this function overrides a virtual UFunction in a parent UClass, and should inherit its type specifiers. With this parameter, ret and params are no longer needed.

    • meta=dict() - Dictionary containing standard Unreal parameters as seen in UFUNCTION() in C++.

    Atomic types must be specified as Python Data Types, not C++ data types.

    Sample

    @unreal.uclass() class MyExampleObject(unreal.Object): @unreal.ufunction(ret=bool,params=[str],meta=dict(Category="A")) def is_valid_name(self,in_name): return bool(in_name)
     
     
     
    https://unrealcommunity.wiki/unreal-python-annotations-cphmykf1
  • 相关阅读:
    SeaweedFS上手使用指南
    XyTalk企业即时通讯IM开始开源
    大数据项目相关技术栈(Hadoop周边技术)
    Hive SQL基础操作
    Applet Mode
    快速开始
    NetBeans启动Tomcat报“'127.0.0.1' 不是内部或外部命令”启动失败的解决办法
    运行带distance field的Hiero
    Game Loop的几种实现方式
    20150408
  • 原文地址:https://www.cnblogs.com/Shaojunping/p/15078071.html
Copyright © 2011-2022 走看看