//设置界面打开条件满足 public void SetUIExistConditionMet(GuideTriggerConditionDefine guideTriggerConditionDefine, string UIName) { bool isHaveUI = UIComponent.IsHaveUI(UIName); if (isHaveUI) { GameObject goUI = UIComponent.GetExistUI(UIName); if (goUI.activeInHierarchy && isLastChild(goUI.transform)) { guideTriggerConditionDefine.isMet = true; } } }
private void CheckLittleStepTrigger() { bool isHaveTrigger = false; for (int i = 0; i < listGuideLittleStep.Count; i++) { if (listGuideLittleStep[i].IsFinish == false)//引导没完成 { //判定条件 bool isConditionMet = true; List <int> conditionIds = listGuideLittleStep[i].TriggerConditions; for (int eachConditionIdx = 0; eachConditionIdx < conditionIds.Count; eachConditionIdx++) { GuideTriggerConditionDefine conditonDefine = listGuideConditions.Find(x => x.Id == conditionIds[eachConditionIdx]); if (conditonDefine.isMet == false) { isConditionMet = false; break; } } if (isConditionMet)//条件满足,触发引导 { //触发到最新一个 BeginCurrGuideStep(listGuideLittleStep[i]); isHaveTrigger = true; } } } //如果条件不满足了,比如施肥的已经变成了幼苗,关闭手指动画 if (isHaveTrigger == false) { uiGuideComponent.GoUIGuide.SetActive(false); //不满足条件了,重置,以便下次触发判定 CurrExecuteGuideLittleStepId = 0; //如果当前正在进行种植 拖出会关闭面板,条件不重置 if (isCurrStepGuiding && CurrExecuteGuideLittleStepDefine.Id == 10003) { return; } isCurrStepGuiding = false; } }