Пример #1
0
    //-------------------------------------------------------------------------
    // 检查触发条件
    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);
        }
    }
Пример #2
0
 //-------------------------------------------------------------------------
 public void regEntityTriggerCondition(INodeTriggerCondition trigger_condition)
 {
     mNodeTriggerConditionMgr.regEntityTriggerCondition(trigger_condition);
 }
 //-------------------------------------------------------------------------
 public void regEntityTriggerCondition(INodeTriggerCondition triggercondition)
 {
     mMapEntityTriggerCondition[triggercondition.getId()] = triggercondition;
 }
Пример #4
0
 //-------------------------------------------------------------------------
 public void regEntityTriggerCondition(INodeTriggerCondition trigger_condition)
 {
     mNodeTriggerConditionMgr.regEntityTriggerCondition(trigger_condition);
 }
 //-------------------------------------------------------------------------
 public void regEntityTriggerCondition(INodeTriggerCondition triggercondition)
 {
     mMapEntityTriggerCondition[triggercondition.getId()] = triggercondition;
 }