Qframework 无操作回待机状态

 


            DelayAction delay2s = new DelayAction();
            BtnSummit.onClick.AddListener(() =>
            {
                delay2s.OnRecycled();
                delay2s = DelayAction.Allocate(60f, () => { OpenUIPhotosPanel(); });
                this.ExecuteNode(delay2s);  /// 这里的this. 由IActionChainExtention扩展             
            });

  private void Update()
        {
            if (Input.GetMouseButtonDown(0))
            {
                CheckWaittingState();
            }
            if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)
            {
                CheckWaittingState();
            }

        }

        public Sprite m_WaittingSprite;
        DelayAction wDelay = new DelayAction();
        void CheckWaittingState()
        {
            wDelay.OnRecycled();
            wDelay = DelayAction.Allocate(10f, () => {
                UIKit.OpenPanel<UICommonWaittingPanel>(UILevel.PopUI, new UICommonWaittingPanelData()
                {
                    m_WaittingSprite = m_WaittingSprite
                }, prefabName: "Resources/UIs/UICommonWaittingPanel");
            });
            this.ExecuteNode(wDelay);  /// 这里的this. 由IActionChainExtention扩展

        }

 

public class UICommonWaittingPanelData : UIPanelData
	{
		public Sprite m_WaittingSprite;
	}
	public partial class UICommonWaittingPanel : UIPanel
	{
		protected override void OnInit(IUIData uiData = null)
		{
			mData = uiData as UICommonWaittingPanelData ?? new UICommonWaittingPanelData();
			// please add init code here
			ImageWaitting.GetComponent<Image>().sprite = mData.m_WaittingSprite;
			AudioKit.Settings.IsSoundOn.Value = false;
			ImageWaitting.buttonOnPointerDownEvent.AddListener(() =>
			{
				AudioKit.Settings.IsSoundOn.Value = true;
				
                this.CloseSelf();
			});
		}
    }    

 

实际示例


            DelayAction delay2s = new DelayAction();
            BtnSummit.onClick.AddListener(() =>
            {
                delay2s.OnRecycled();
                delay2s = DelayAction.Allocate(60f, () => { OpenUIPhotosPanel(); });
                this.ExecuteNode(delay2s);  /// 这里的this. 由IActionChainExtention扩展

                BtnSummit.interactable = false;
                string fullFoldPath = Application.streamingAssetsPath + "/FloatingSignals/";
                string fileName = ((DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000).ToString() + ".PNG";

                string fullPath = fullFoldPath + fileName;

                RenderTexture renderTexture = paintManager.GetPaintTexture();
                // 保存这个签名
                StartCoroutine(TextureKit.SaveRenderTextureToPNGAsyncGPU(fullPath, renderTexture, (t2d) =>
                {
                    Debug.Log("异步保存图片");
                    // 编辑器模式下刷新文件夹会造成编辑器卡顿一下
                    //AssetDatabase.Refresh();
                    // 回调
                    TextureKit.DeleteWhenOverLoad(fullFoldPath, "*.PNG", 20);
                    FloatingSignalsPanel.SpawnFloatingSignal(t2d, fileName);
                    paintManager.Init();
                    BtnSummit.interactable = true;
                }));
            });


版权声明:本文为qq_39097425原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。