星鸿阁

 找回密码
 立即注册
搜索
热搜: 活动 交友 动画
查看: 1445|回复: 1

C++读取设置蓝图变量

[复制链接]

2254

主题

2764

帖子

9644

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9644
发表于 2022-1-21 17:33:54 | 显示全部楼层 |阅读模式
回复

使用道具 举报

2254

主题

2764

帖子

9644

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9644
 楼主| 发表于 2022-1-21 17:34:12 | 显示全部楼层
bool UShooterFunctions::GetFloatByName(UObject * Target, FName VarName, float &outFloat)

{

    if (Target) //make sure Target was set in blueprints.

    {

        float FoundFloat;

        UFloatProperty* FloatProp = FindField<UFloatProperty>(Target->GetClass(), VarName);  // try to find float property in Target named VarName

        if (FloatProp) //if we found variable

        {

            FoundFloat = FloatProp->GetPropertyValue_InContainer(Target);  // get the value from FloatProp

            outFloat = FoundFloat;  // return float

            return true; // we can return

        }

    }

    return false; // we haven't found variable return false

}



写入:

bool UShooterFunctions::SetFloatByName(UObject * Target, FName VarName, float NewValue, float & outFloat)

{

    if (Target)

    {

        float FoundFloat;

        UFloatProperty* FloatProp = FindField<UFloatProperty>(Target->GetClass(), VarName);

        if (FloatProp)

        {

            FloatProp->SetPropertyValue_InContainer(Target, NewValue); //this actually sets the variable

            FoundFloat = FloatProp->GetPropertyValue_InContainer(Target);

            outFloat = FoundFloat;

            return true;

        }

    }

    return false;

}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|starfluidga

GMT+8, 2025-3-9 23:17 , Processed in 0.012547 second(s), 21 queries .

Made by Liga 星鸿阁

Copyright © 2020-2048, LigaStudio.

快速回复 返回顶部 返回列表