所以基本上我有一个自定义的 SequenceCondition,它有一个接受属性名的 VariableLink,当我运行代码时,我总是得到错误(ActivateOutputLink(1)),因为我的属性值总是“无”。被链接的项目是一个名为 OHSQuest 的自定义类,我正在连接 kismet 中的任务。这是代码:
// extend UIAction if this action should be UI Kismet Action instead of a Level Kismet Action
class OHSQuestCompare extends SequenceCondition;
var() OHSquest questToCompare;
event Activated()
{
local OHSPlayerController PC;
local int i;
PC=OHSPlayerController(GetWorldInfo().GetALocalPlayerController());
for(i=0;i<PC.quests.Length;++i)
{
if(PC.quests[i].sQuestDescription==questToCompare.sQuestDescription)
ActivateOutputLink(0);
}
ActivateOutputLink(1);
}
defaultproperties
{
ObjName="QuestCompare"
ObjCategory="Quest"
bCallHandler=false;
InputLinks(0)=(LinkDesc="In")
OutputLinks(0)=(LinkDesc="True")
OutputLinks(1)=(LinkDesc="False")
bAutoActivateOutputLinks=false;
VariableLinks.Empty;
VariableLinks(0)=(ExpectedType=class'OHSQuest',bWriteable=true,LinkDesc="Quest To Compare",PropertyName=questToCompare);
}
我还有另一个自定义 SequenceAction,它接受一个 OHSQuest 的变量链接,它工作正常。知道为什么这个没有被填写吗?