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
  • 相关阅读:
    20200311 1. 消息中间件概述
    20200311 0. RabbitMQ 安装
    20210309 java.lang.Integer
    20210304. Redis【归档】
    20210304. 8. Redis 大厂面试汇总
    20210304. 7. Redis 企业实战
    20210304. 6. Redis 高可用方案
    20210304. 5. Redis 扩展功能
    Evolution Strategies as a Scalable Alternative to Reinforcement Learning
    脉冲神经网络研究现状及展望——论文摘抄
  • 原文地址:https://www.cnblogs.com/Shaojunping/p/15078071.html
Copyright © 2011-2022 走看看