/// <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); }
/// <summary> /// 验证完成 /// </summary> /// <param name="_validate">验证器</param> void Current_OnValidateFinished(UIGuideValidate _validate) { }