我有一个名为Door的主类,这个门有3个变量,aimationDuration,Start Delay和一个带有2个选项的枚举- ClosingDoor和OpeningDoor。现在,我想知道是否有可能当我选择ClosingDoor时,编辑器将只显示animationDuration变量并隐藏StartDelay变量,然后选择openingDoor并隐藏animationDuration并显示StartDelay。这是可能的,还是有其他方法来实现这一点?
发布于 2017-11-08 20:48:07
事实上,这确实有一些东西,但它可能需要一些技巧,因为您需要ENUM值,并且该方法似乎是针对布尔值的。
Unreal的元数据说明符有一个'editcondition‘说明符,它允许你指向一个布尔变量,并说,当该变量为true时,让我编辑这个属性,无论是什么属性它都适用于所有事情。
下面是一个虚幻的answerhub示例,其中包含一些代码:
https://answers.unrealengine.com/questions/189864/hide-and-show-variable-in-property-window.html
如果boolean方法对您有效,这很好,否则您将需要查看重写AActor::PostEditChangeProperty(),以便在更改枚举值时在该函数中设置一个布尔值(在参与者的属性窗口中发生任何更改后都会调用该函数),然后按您需要的方式工作。
如果你真的想要适当的隐藏/显示,那就更复杂了,需要你使用Slate,我不知道,但这里有文档:
https://docs.unrealengine.com/latest/INT/Programming/Slate/DetailsCustomization/index.html
https://stackoverflow.com/questions/47155135
复制相似问题