/// <summary>
    /// 引导验证事件
    /// </summary>
    /// <param name="_guideValidate">引导验证器</param>
    /// <returns>true:验证通过,false:验证不通过</returns>
    bool Validate_OnEventValidate(UIGuideValidate _guideValidate)
    {
        bool result = false;

        if (mGuideCommandSender != null)
        {
            result = mGuideCommandSender.isMatchCondition(_guideValidate);
            if (result)
            {
                mGuideCommandSender.Excute();
            }
        }
        return(result);
    }
    /// <summary>
    /// 是否满足条件
    /// </summary>
    /// <param name="_conditions">匹配组</param>
    /// <param name="_sender">引导命令</param>
    /// <param name="_sponsor">条件匹配发起者</param>
    /// <param name="_resolveStatus">解析状态</param>
    /// <param name="_status">当前状态</param>
    /// <param name="_parameters">参数</param>
    /// <returns>true:满足条件,false:不满足条件</returns>
    protected override bool OnIsMatchCondition(IGuideCommand _sender, List <AbsGuideResolveMatchCommand> _conditions,
                                               IGuideMatchConditionCommand _sponsor, enGuideStatus _resolveStatus, enGuideStatus _status, params object[] _parameters)
    {
        //AbsUIGuideGraphic mask = _sender.guideWindow.GetUIGuideGraphic((int)enGuideStatus.WaitTrigger, conditionIndex);
        bool result = _sender.guideWindow != null && base.OnIsMatchCondition(_sender, _conditions, _sponsor, _resolveStatus, _status, _parameters);

        if (result)
        {
            result = false;
            if (_parameters != null)
            {
                UIGuideValidate validate = null;
                foreach (object v in _parameters)
                {
                    if (v is UIGuideValidate)
                    {
                        validate = (UIGuideValidate)v;
                        result   = validate.guideId == guideConfig.id && validate.type == (int)enGuideStatus.WaitTrigger && validate.index == conditionIndex;
                    }
                }
            }
        }
        return(result);
    }
    /// <summary>
    /// 是否满足条件
    /// </summary>
    /// <param name="_conditions">匹配组</param>
    /// <param name="_sender">引导命令</param>
    /// <param name="_sponsor">条件匹配发起者</param>
    /// <param name="_resolveStatus">解析状态</param>
    /// <param name="_status">当前状态</param>
    /// <param name="_parameters">参数</param>
    /// <returns>true:满足条件,false:不满足条件</returns>
    protected override bool OnIsMatchCondition(IGuideCommand _sender, List <AbsGuideResolveMatchCommand> _conditions,
                                               IGuideMatchConditionCommand _sponsor, enGuideStatus _resolveStatus, enGuideStatus _status,
                                               params object[] _parameters)
    {
        bool result = base.OnIsMatchCondition(_sender, _conditions, _sponsor, _resolveStatus, _status, _parameters);

        if (_parameters != null && mGraphicMask == null)
        {
            foreach (object p in _parameters)
            {
                if (p is AbsUIWindowView)
                {
                    AbsUIWindowView w = (AbsUIWindowView)p;
                    if (w.config.name.Equals(windowName))
                    {
                        mGuideCommandSender = _sender;
                        mControl            = w.FindCtrlByNameIsSelfOrParent <UIBehaviour>(controlName);
                        mGraphicMask        = new UIGuideGraphic((int)_sender.status, w.FindCtrlByNameIsSelfOrParent <Graphic>(graphicMask), referObjectIndex);
                        if (mControl != null)
                        {
                            break;
                        }
                    }
                }
            }
        }

        result &= mControl != null && mGraphicMask != null && mGraphicMask.graphic != null &&
                  mGraphicMask.graphic.gameObject.activeInHierarchy == mGraphicMaskActiveSelf;
        if (result)
        {
            UIGuideValidate validate = _sender.CreateValidateMono <UIGuideValidate>(mControl, (int)_sender.status, referObjectIndex);
            validate.OnEventValidate += Validate_OnEventValidate;
        }
        return(result);
    }
Пример #4
0
 /// <summary>
 /// 验证完成
 /// </summary>
 /// <param name="_validate">验证器</param>
 void Current_OnValidateFinished(UIGuideValidate _validate)
 {
 }