/// <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); } }
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"); }
/// <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(); } } ); } }
/// <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(); }
/// <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; }
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); }
public override void Initialize() { m_Bg = FindComponent <Image>("Content/Image_Loading/Image_Bg"); m_AnimatorController = GetTransform().GetComponent <UIAnimationEvent>(); }