//------------------------------------------------------------------------- // 解析TriggerXml internal void _parseTriggerXml() { EventDef entity_def = mNodeDef; var trigger_groups = entity_def.GetGroupArray("Trigger"); if (trigger_groups != null) { foreach (int i in trigger_groups.Keys) { Group trg = trigger_groups[i]; Property p1 = trg.GetValue("LinkedFrom"); int linked_from = int.Parse(p1.Value); int eid = 0; if (linked_from == 0) { eid = getParentNode().getNodeId(); } else { //eid = mMapPredecessor[linked_from].entity_id; } Property p2 = trg.GetValue("Type"); int trg_id = int.Parse(p2.Value); int trg_param = 0; Property p3 = trg.GetValue("Id"); if (p3.Value != "") { trg_param = int.Parse(p3.Value); } INodeTriggerFactory factory = mNodeSys.getNodeTriggerFactory(trg_id); if (factory != null) { INodeTrigger entity_trigger = factory.createTrigger(this, eid, trg_param); mTriggerList.Add(entity_trigger); //mXmlPredecessorIdList.Add(eid); } } } }
//------------------------------------------------------------------------- public void regNodeTriggerFactory(INodeTriggerFactory trigger_factory) { mNodeTriggerMgr.regNodeTriggerFactory(trigger_factory); }
//------------------------------------------------------------------------- public void regNodeTriggerFactory(INodeTriggerFactory trigger_factory) { mMapNodeTriggerFactory[trigger_factory.getId()] = trigger_factory; }