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版权协议,转载请附上原文出处链接和本声明。