Example #1
0
    /// <summary>
    /// 初始化
    /// </summary>
    public override void Initialize()
    {
        UICompositeViewMounts mounts = GetTransform().GetComponent <UICompositeViewMounts>();

        if (mounts)
        {
            BackBox   = mounts.BackBox;
            TitleBox  = mounts.TitleBox;
            ListBox   = mounts.ListBox;
            TipBox    = mounts.TipBox;
            PageBox   = mounts.PageBox;
            SortBox   = mounts.SortBox;
            OtherBox  = mounts.OtherBox;
            ModelBox  = mounts.ModelBox;
            HotkeyBox = mounts.HotkeyBox;
        }

        Root = FindComponent <Transform>("Content");
        AnimatorController = GetTransform().GetComponent <UIAnimationEvent>();

        //初始化页面状态
        CfgEternityProxy cfg      = Facade.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy;
        UiConfig?        uiConfig = cfg.GetUIConfig((uint)Name);

        if (uiConfig.HasValue && !m_ViewStates.ContainsKey(Name))
        {
            UIViewState state = new UIViewState();
            state.UIConfig = uiConfig;
            state.Initialize();

            m_ViewStates.Add(Name, state);
        }
    }
Example #2
0
 public override void Initialize()
 {
     base.Initialize();
     m_Root               = FindComponent <Transform>("Content");
     m_Title              = FindComponent <TMP_Text>("Title/Label_Title");
     m_WatchController    = GetTransform().GetComponent <UIAnimationEvent>();
     m_AnimatorController = m_Root.GetComponent <UIAnimationEvent>();
     m_HotkeyRoot         = FindComponent <Transform>("Control/Content/View_Bottom/List");
 }
Example #3
0
    /// <summary>
    /// 播放下一个消息
    /// </summary>
    private void PlayNextMessage()
    {
        if (m_MessageList.Count > 0)
        {
            m_MessageList.Sort((a, b) => { return(b.priority - a.priority); });

            m_CurrentMessage = m_MessageList[0];

            m_MessageList.RemoveAt(0);

            AssetUtil.LoadAssetAsync(m_CurrentMessage.prefabPath,
                                     (pathOrAddress, returnObject, userData) =>
            {
                if (!m_RootNode)
                {
                    return;
                }

                if (returnObject != null)
                {
                    GameObject prefab = (GameObject)returnObject;

                    prefab.CreatePool(pathOrAddress);

                    m_CurrentMessageView = prefab.Spawn(m_RootNode).transform;
                    m_CurrentMessageView.gameObject.SetActive(true);

                    m_CurrentAnimationEvent = FindComponent <UIAnimationEvent>(m_CurrentMessageView, "Content/Message");
                    m_CurrentAnimationEvent.OnAnimationEvent -= OnMessagePlayComplete;
                    m_CurrentAnimationEvent.OnAnimationEvent += OnMessagePlayComplete;

                    InitializeMessageAnimation();
                }
                else
                {
                    Debug.LogError(string.Format("资源加载成功,但返回null,  pathOrAddress = {0}", pathOrAddress));

                    PlayNextMessage();
                }
            }
                                     );
        }
    }
Example #4
0
    /// <summary>
    /// 当消息动画播放完成时
    /// </summary>
    /// <param name="key">动画事件</param>
    private void OnMessagePlayComplete(string key)
    {
        if (!string.Equals(key, "AnimationComplete"))
        {
            return;
        }

        if (m_CurrentAnimationEvent)
        {
            m_CurrentAnimationEvent.OnAnimationEvent -= OnMessagePlayComplete;
            m_CurrentAnimationEvent = null;
        }

        if (m_CurrentMessageView)
        {
            m_CurrentMessageView.Recycle();
            m_CurrentMessageView = null;
        }

        m_CurrentMessage = null;

        PlayNextMessage();
    }
Example #5
0
    /// <summary>
    /// 暂停消息动画
    /// </summary>
    private void PauseMessageAniamtion()
    {
        if (m_ResumeCoroutine != null)
        {
            UIManager.Instance.StopCoroutine(m_ResumeCoroutine);
            m_ResumeCoroutine = null;
        }

        if (m_CurrentAnimationEvent)
        {
            m_CurrentAnimationEvent.OnAnimationEvent -= OnMessagePlayComplete;
            m_CurrentAnimationEvent = null;
        }

        if (m_CurrentMessageView)
        {
            m_CurrentMessageView.Recycle();
            m_CurrentMessageView = null;
        }

        m_CurrentMessage = null;
        m_Paused         = true;
    }
Example #6
0
    protected override void OnViewPartLoaded()
    {
        m_Root = FindComponent <Transform>("Content");
        m_AnimatorController = m_Root.GetComponent <UIAnimationEvent>();
        m_Toggles            = m_Root.GetComponentsInChildren <Toggle>();
        m_WatchController    = GetTransform().GetComponent <UIAnimationEvent>();

        m_Trigger = FindComponent <EventTrigger>("FocousRange");
        m_Trigger.triggers.Clear();
        AddTrigger(m_Trigger, EventTriggerType.PointerEnter, OnFocusRangeEnter);
        AddTrigger(m_Trigger, EventTriggerType.PointerExit, OnFocusRangeExit);

        m_ChooseInfos = GetEscChooseInfos();
        m_PanelName   = GetPanelName();
        for (int i = 0; i < m_Toggles.Length; i++)
        {
            Toggle   toggle = m_Toggles[i];
            TMP_Text label  = toggle.transform.Find("Content/Content/Label_Name").GetComponent <TMP_Text>();
            label.text = GetLocalization(m_ChooseInfos[i].Name);
            Image icon = toggle.transform.Find("Content/Content/Image_Icon").GetComponent <Image>();
            UIUtil.SetIconImage(icon, m_ChooseInfos[i].IconId);
            toggle.group = m_Root.GetComponent <ToggleGroup>();
            int index = i;
            toggle.onValueChanged.RemoveAllListeners();
            toggle.onValueChanged.AddListener((select) =>
            {
                ToggleOnClick(select, toggle, index);
            });
            UIEventListener.UIEventListener.AttachListener(m_Toggles[index].gameObject).onClick += OnClick;
        }
        State.OnPageIndexChanged -= OnPageChanged;
        State.OnPageIndexChanged += OnPageChanged;
        State.SetPageIndex(m_Index);
        OnPageChanged(State.GetPageIndex(), State.GetPageIndex());
        ToggleOnClick(true, m_Toggles[m_Index], m_Index);
    }
Example #7
0
 public override void Initialize()
 {
     m_Bg = FindComponent <Image>("Content/Image_Loading/Image_Bg");
     m_AnimatorController = GetTransform().GetComponent <UIAnimationEvent>();
 }