//------------------------------------------------------------------------- // 检查触发条件 private bool _checkTriggerCondition() { EventDef entity_def = mNode.getDefXml(); var trigger_group = entity_def.GetGroup("TrigCondition"); if (trigger_group == null) { return(true); } if (trigger_group.Groups.Count == 0) { return(true); } bool blank = true; bool and = true; { Property p = trigger_group.GetValue("Conjunction"); if (p.Value == "2") { and = false; } } foreach (Group g in trigger_group.Groups) { INodeTriggerCondition tc = mNode.getNodeSys().getEntityTriggerCondition(g.Key); if (tc != null) { tc.setEntity(mNode); bool result = tc.excute(g); if (and) { if (!result) { return(false); } } else { if (result) { return(true); } } blank = false; } } if (blank) { return(true); } if (and) { return(true); } else { return(false); } }
//------------------------------------------------------------------------- public void regEntityTriggerCondition(INodeTriggerCondition trigger_condition) { mNodeTriggerConditionMgr.regEntityTriggerCondition(trigger_condition); }
//------------------------------------------------------------------------- public void regEntityTriggerCondition(INodeTriggerCondition triggercondition) { mMapEntityTriggerCondition[triggercondition.getId()] = triggercondition; }