forked from endernon/PGRData
59 lines
1.8 KiB
Lua
59 lines
1.8 KiB
Lua
|
local XHomeCharJudgeAttrIntNode = XLuaBehaviorManager.RegisterNode(XLuaBehaviorNode, "HomeCharJudgeAttrInt", CsBehaviorNodeType.Action, true, false)
|
|||
|
|
|||
|
local CompareSymbol = {
|
|||
|
Less = 1, --小于 <
|
|||
|
Greater = 2, --/大于 >
|
|||
|
LEqual = 3, --小于等于 <=
|
|||
|
GEqual = 4, --大于等于 >=
|
|||
|
Equal = 5, --大于等于 ==
|
|||
|
NotEqual = 6, --不等于 !=
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
function XHomeCharJudgeAttrIntNode:OnAwake()
|
|||
|
if self.Fields == nil then
|
|||
|
self.Node.Status = CsNodeStatus.ERROR
|
|||
|
return
|
|||
|
end
|
|||
|
|
|||
|
if self.Fields["AttributeKey"] == nil or self.Fields["CompareSymbol"] == nil or self.Fields["CompareValue"] == nil then
|
|||
|
self.Node.Status = CsNodeStatus.ERROR
|
|||
|
return
|
|||
|
end
|
|||
|
|
|||
|
self.AttributeKey = self.Fields["AttributeKey"]
|
|||
|
self.CompareSymbol = self.Fields["CompareSymbol"]
|
|||
|
self.AttributeValue = self.Fields["CompareValue"]
|
|||
|
|
|||
|
end
|
|||
|
|
|||
|
function XHomeCharJudgeAttrIntNode:OnStart()
|
|||
|
self.Attribute = self.AgentProxy:GetAtrributeValue(self.AttributeKey)
|
|||
|
|
|||
|
end
|
|||
|
|
|||
|
function XHomeCharJudgeAttrIntNode:OnEnter()
|
|||
|
|
|||
|
local result = false
|
|||
|
if self.CompareSymbol == CompareSymbol.Less then
|
|||
|
result = self.Attribute < self.AttributeValue
|
|||
|
elseif self.CompareSymbol == CompareSymbol.Equal then
|
|||
|
result = self.Attribute == self.AttributeValue
|
|||
|
elseif self.CompareSymbol == CompareSymbol.NotEqual then
|
|||
|
result = self.Attribute ~= self.AttributeValue
|
|||
|
elseif self.CompareSymbol == CompareSymbol.GEqual then
|
|||
|
result = self.Attribute >= self.AttributeValue
|
|||
|
elseif self.CompareSymbol == CompareSymbol.LEqual then
|
|||
|
result = self.Attribute <= self.AttributeValue
|
|||
|
elseif self.CompareSymbol == CompareSymbol.Greater then
|
|||
|
result = self.Attribute >= self.AttributeValue
|
|||
|
end
|
|||
|
|
|||
|
|
|||
|
if result then
|
|||
|
self.Node.Status = CsNodeStatus.SUCCESS
|
|||
|
else
|
|||
|
self.Node.Status = CsNodeStatus.FAILED
|
|||
|
end
|
|||
|
|
|||
|
end
|