Exemplo n.º 1
0
    //设置界面打开条件满足
    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;
            }
        }
    }
Exemplo n.º 2
0
    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;
        }
    }