Beispiel #1
0
    void onClick_Leftbtn_Btn(GameObject caster)
    {
        bool show           = IsShowRightBtn();
        bool guideForceShow = false;

        if (null != caster)
        {
            GuideTriggerData gtData = caster.GetComponent <GuideTriggerData>();
            if (null != gtData && gtData.IsGuideTrigger)
            {
                gtData.IsGuideTrigger = false;
                guideForceShow        = true;
            }
        }
        UIDefine.GameObjMoveStatus stats = UIDefine.GameObjMoveStatus.None;
        if (show)
        {
            if (!guideForceShow)
            {
                stats = UIDefine.GameObjMoveStatus.MoveToInvisible;
            }
        }
        else
        {
            stats = UIDefine.GameObjMoveStatus.MoveToVisible;
        }
        //发送UI,功能按钮状态变化事件
        SendGameObjMoveStatusEvent(stats, m_lst_FuncBtnsRight);
    }
Beispiel #2
0
    /// <summary>
    /// 左上角 按钮展开逻辑
    /// </summary>
    /// <param name="caster"></param>
    void onClick_BtnShowFunc_Btn(GameObject caster)
    {
        bool show           = m_trans_btn_Left_Root.gameObject.activeSelf;
        bool guideForceShow = false;

        if (null != caster)
        {
            GuideTriggerData gtData = caster.GetComponent <GuideTriggerData>();
            if (null != gtData && gtData.IsGuideTrigger)
            {
                gtData.IsGuideTrigger = false;
                guideForceShow        = true;
            }
        }

        if (show)
        {
            if (!guideForceShow)
            {
                ResetLeftBtnsPos();
            }
        }
        else
        {
            ShowLeftBtn();
        }
    }
Beispiel #3
0
    /// <summary>
    /// 引导UI事件回调
    /// </summary>
    /// <param name="eventType">事件类型</param>
    /// <param name="data"></param>
    /// <param name="param"></param>
    private void GuideTriggerDlg(UIEventType eventType, object data, object param)
    {
        switch (eventType)
        {
        case UIEventType.Click:
            if (null != m_helpData && null != m_helpData.LocalData)
            {
                if (data is GuideTrigger)
                {
                    GuideTrigger gTrigger = data as GuideTrigger;
                    if (null != gTrigger && null != gTrigger.TriggerIds)
                    {
                        if (null != m_helpData.LocalData.GuideTargetObj)
                        {
                            GuideTriggerData gtData = m_helpData.LocalData.GuideTargetObj.GetComponent <GuideTriggerData>();
                            if (null == gtData)
                            {
                                gtData = m_helpData.LocalData.GuideTargetObj.AddComponent <GuideTriggerData>();
                                gtData.IsGuideTrigger = true;
                            }
                            m_helpData.LocalData.GuideTargetObj.SendMessage("OnClick", SendMessageOptions.DontRequireReceiver);
                            if (null != gtData)
                            {
                                GameObject.Destroy(gtData);
                            }
                        }
                        List <uint> triggerIds = new List <uint>();
                        triggerIds.AddRange(gTrigger.TriggerIds);
                        for (int i = 0; i < triggerIds.Count; i++)
                        {
                            if (m_helpData.LocalData.ID == triggerIds[i])
                            {
                                CompleteGuide();
                            }
                        }

                        HideSelf();
                    }
                }
            }

            break;
        }
    }
    /// <summary>
    /// 引导ID
    /// </summary>
    /// <param name="guideId"></param>
    private void ShowGuide(uint guideId)
    {
        GuideDefine.LocalGuideData localData = null;
        if (DataManager.Manager <GuideManager>().TryGetGuideLocalData(guideId, out localData))
        {
            if (null == localData.GuideTargetObj)
            {
                return;
            }
            PanelType ptype = PanelType.SmartPopUp;
            UIPanelManager.LocalPanelInfo localInfo = null;
            if (DataManager.Manager <UIPanelManager>().TryGetLocalPanelInfo(localData.GuideTargetDependPanel, out localInfo))
            {
                ptype = localInfo.PType;
            }
            if (IsShowUnconstrainGuide(guideId))
            {
                //如果不可见重新获取当前面板深度
                UIUnconstraintGrid showGrid = m_dic_showGuide[guideId];
                if (!showGrid.Visible)
                {
                    showGrid.SetVisible(true);
                    GuideTrigger gTrigger = localData.GuideTargetObj.GetComponent <GuideTrigger>();
                    if (null != gTrigger && !gTrigger.enabled)
                    {
                        gTrigger.enabled = true;
                    }
                    int maxDepth = DataManager.Manager <UIPanelManager>().GetTargetRootMaxDepth(ptype);
                    showGrid.SetDepth(maxDepth + 1);
                    if (localData.RefreshPosInTime)
                    {
                        showGrid.RefreshPos();
                    }
                    showGrid.CheckTriggerData(guideId, GuideTriggerDlg);
                }
            }
            else
            {
                int maxDepth            = DataManager.Manager <UIPanelManager>().GetTargetRootMaxDepth(ptype);
                UIUnconstraintGrid grid = GetUnconstrainGrid();
                if (null != grid)
                {
                    grid.CacheTransform.gameObject.name = guideId.ToString();
                    m_dic_showGuide.Add(guideId, grid);
                }
                grid.SetData(maxDepth + 1, guideId, GuideTriggerDlg);

                if (localData.TableData.voiceID != 0)
                {
                    DataManager.Manager <UIManager>().PlayUIAudioEffect(localData.TableData.voiceID);
                }
            }


            GuideTriggerData gtData = localData.GuideTargetObj.GetComponent <GuideTriggerData>();
            if (null == gtData)
            {
                gtData = localData.GuideTargetObj.AddComponent <GuideTriggerData>();
            }
            if (null != gtData && !gtData.IsGuideTrigger)
            {
                gtData.IsGuideTrigger = true;
            }
        }
    }