Beispiel #1
0
    private void UnRegisterEvent(GameObject obj)
    {
        if (obj == null)
        {
            return;
        }
        if (mCurStep < 0 || mCurStep >= mSteps.Count)
        {
            return;
        }
        GuideStepTableItem node = mSteps[mCurStep];

        if (node.ctrlType == "button")
        {
            UIButton btn = obj.GetComponent <UIButton>();
            if (btn != null)
            {
                EventDelegate.Remove(btn.onClick, OnControlComplete);
            }
        }

        if (node.ctrlType == "toggle")
        {
            UIToggle toggle = obj.GetComponent <UIToggle>();
            if (toggle != null)
            {
                EventDelegate.Remove(toggle.onChange, OnControlComplete);
            }
        }
    }
Beispiel #2
0
    private void UpdateHideState()
    {
        if (mCurStep < 0 || mCurStep >= mSteps.Count)
        {
            return;
        }
        GuideStepTableItem node   = mSteps[mCurStep];
        UIWindow           window = WindowManager.Instance.GetUI(node.window);

        if (window == null)
        {
            return;
        }
        if ((int)CTRL_FIND_TYPE.FIND_TYPE_QUEST_SELECT_ID == node.param1)
        {
            UIQuestForm quest = (UIQuestForm)window;

            mHide = (quest.GetCurrentID() != node.param2);
        }
        else if ((int)CTRL_FIND_TYPE.FIND_TYPE_STAGE_SELECT_ID == node.param1)
        {
            UIStageList stage = (UIStageList)window;

            mHide = (stage.GetCurrentID() != node.param2);
        }
        else
        {
            mHide = false;
        }
    }
Beispiel #3
0
    public void Update(uint elapsed)
    {
        if (!mRuning)
        {
            return;
        }

        if (mCurStep < 0 || mCurStep >= mSteps.Count)
        {
            return;
        }

        GuideStepTableItem node = mSteps[mCurStep];

        if (mControl == null)
        {
            mControl = FindControl(node);

            if (mControl != null)
            {
                RegisterTalk(node);
                RegisterEvent(mControl);
            }
        }

        UpdateHideState();
    }
Beispiel #4
0
 private void RegisterTalk(GuideStepTableItem node)
 {
     //MM对话
     if (!string.IsNullOrEmpty(node.talk))
     {
         GuideManager.Instance.RegisterTalk(node.talk, node.talkpos);
     }
 }
Beispiel #5
0
    public bool IsShowMask()
    {
        if (mCurStep < 0 || mCurStep >= mSteps.Count)
        {
            return(false);
        }
        GuideStepTableItem node = mSteps[mCurStep];

        return(node.showMask > 0);
    }
Beispiel #6
0
    public ArrowRot GetArrowRot()
    {
        if (mCurStep < 0 || mCurStep >= mSteps.Count)
        {
            return(ArrowRot.ArrowRot_Invaild);
        }

        GuideStepTableItem node = mSteps[mCurStep];

        if (node.arrow <= (int)ArrowRot.ArrowRot_Invaild || node.arrow > (int)ArrowRot.ArrowRot_RIGHT)
        {
            return(ArrowRot.ArrowRot_Invaild);
        }

        return((ArrowRot)node.arrow);
    }
Beispiel #7
0
    private GameObject FindControl(GuideStepTableItem node)
    {
        GameObject obj = null;
        //如果填表错误 一直找不到对象  需要处理
        UIWindow window = WindowManager.Instance.GetUI(node.window);

        if (window == null)
        {
            return(null);
        }

        mDepth = window.GetDepth() /*+ 1*/;

        if (node.param1 >= 0)
        {
            switch (node.param1)
            {
            case (int)CTRL_FIND_TYPE.FIND_TYPE_BAG_ITEM:
            {
                if (window is UIBagForm)
                {
                    UIBagForm bag = (UIBagForm)window;

                    return(bag.FindBagItem(node.param2));
                }
            }
            break;

            case (int)CTRL_FIND_TYPE.FIND_TYPE_EQUIP_ITEM:
            {
                if (window is UIBagForm)
                {
                    UIBagForm bag = (UIBagForm)window;

                    return(bag.FindEquipItem(node.param2));
                }
            } break;

            case (int)CTRL_FIND_TYPE.FIND_TYPE_QUEST_SELECT_ID:
            {
                if (window is UIQuestForm)
                {
                    UIQuestForm quest = (UIQuestForm)window;

                    return(quest.FindEnterBtn(node.param2));
                }
            }
            break;

            case (int)CTRL_FIND_TYPE.FIND_TYPE_STAGE_SELECT_ID:
            {
                if (window is UIStageList)
                {
                    UIStageList stage = (UIStageList)window;

                    return(stage.FindEnterBtn(node.param2));
                }
            }
            break;

            case (int)CTRL_FIND_TYPE.FIND_TYPE_CHECK_EQUIP_ITEM:
            {
                PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>();

                PackageManager pack = module.GetPackManager();

                Dictionary <int, ItemObj> dic = pack.getPackDic(PackageType.Pack_Equip);

                bool find = false;
                foreach (KeyValuePair <int, ItemObj> value in dic)
                {
                    if (value.Value.GetResId() == node.param2)
                    {
                        find = true;
                    }
                }
                if (!find)
                {
                    End();
                    return(null);
                }
            } break;

            case (int)CTRL_FIND_TYPE.FIND_TYPE_CHECK_NO_SKILL:
            {
                SkillModule module = ModuleManager.Instance.FindModule <SkillModule>();

                if (module.GetSkillLvBySkillID(node.param2) > 0)
                {
                    End();
                    return(null);
                }
            } break;
            }
        }
        obj = window.FindChild(node.ctrl);
        return(obj);
    }
Beispiel #8
0
 public void SetData(GuideStepTableItem data)
 {
     mStep = data;
 }