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