111 lines
3.4 KiB
C#
111 lines
3.4 KiB
C#
|
|
using System;
|
||
|
|
using DG.Tweening;
|
||
|
|
using Spine.Unity;
|
||
|
|
|
||
|
|
namespace FlowerPower
|
||
|
|
{
|
||
|
|
public class OpenGameUI : BaseUI
|
||
|
|
{
|
||
|
|
private OpenGameUICtrl ctrl;
|
||
|
|
private OpenGameModel model;
|
||
|
|
private FGUI.P08_Play.com_open ui;
|
||
|
|
|
||
|
|
public OpenGameUI(OpenGameUICtrl ctrl) : base(ctrl)
|
||
|
|
{
|
||
|
|
uiName = UIConst.OpenGameUI;
|
||
|
|
this.ctrl = ctrl;
|
||
|
|
}
|
||
|
|
|
||
|
|
protected override void SetUIInfo(UIInfo uiInfo)
|
||
|
|
{
|
||
|
|
uiInfo.packageName = "P08_Play";
|
||
|
|
uiInfo.assetName = "com_open";
|
||
|
|
uiInfo.layerType = UILayerType.Popup;
|
||
|
|
uiInfo.isNeedOpenAnim = false;
|
||
|
|
uiInfo.isNeedCloseAnim = false;
|
||
|
|
uiInfo.isNeedUIMask = false;
|
||
|
|
}
|
||
|
|
|
||
|
|
#region 生命周期
|
||
|
|
protected override void OnInit()
|
||
|
|
{
|
||
|
|
// model = ModuleManager.Instance.GetModel(ModelConst.OpenGameModel) as OpenGameModel;
|
||
|
|
}
|
||
|
|
|
||
|
|
protected override void OnClose()
|
||
|
|
{
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
protected override void OnBind()
|
||
|
|
{
|
||
|
|
ui = baseUI as FGUI.P08_Play.com_open;
|
||
|
|
}
|
||
|
|
|
||
|
|
protected override void OnOpenBefore(object args)
|
||
|
|
{
|
||
|
|
DOVirtual.DelayedCall(0.7f, () => { GameDispatcher.Instance.Dispatch(GameMsg.reset_game, args); });
|
||
|
|
InitView();
|
||
|
|
}
|
||
|
|
|
||
|
|
protected override void OnOpen(object args)
|
||
|
|
{
|
||
|
|
}
|
||
|
|
|
||
|
|
protected override void OnHide()
|
||
|
|
{
|
||
|
|
}
|
||
|
|
|
||
|
|
protected override void OnDisplay(object args)
|
||
|
|
{
|
||
|
|
}
|
||
|
|
#endregion
|
||
|
|
|
||
|
|
#region 消息
|
||
|
|
protected override void AddListener()
|
||
|
|
{
|
||
|
|
|
||
|
|
}
|
||
|
|
protected override void RemoveListener()
|
||
|
|
{
|
||
|
|
|
||
|
|
}
|
||
|
|
#endregion
|
||
|
|
private Action closeCallback;
|
||
|
|
//初始化页面逻辑
|
||
|
|
private void InitView()
|
||
|
|
{
|
||
|
|
|
||
|
|
string stage = GameHelper.gameType == 0 ? "Level " + GameHelper.GetLevel() : "";
|
||
|
|
ui.text_level.text = stage;
|
||
|
|
|
||
|
|
SkeletonAnimation fx_open = FXManager.Instance.SetFx<SkeletonAnimation>(ui.ani_node, Fx_Type.fx_open, ref closeCallback);
|
||
|
|
fx_open.state.SetAnimation(0, "animation", false);
|
||
|
|
fx_open.state.Complete += (a) =>
|
||
|
|
{
|
||
|
|
if (GameHelper.IsShowLevelTips()) {
|
||
|
|
ui._group.visible = false;
|
||
|
|
DOVirtual.DelayedCall(0.2f, () =>
|
||
|
|
{
|
||
|
|
ui.tips_node.visible = true;
|
||
|
|
SkeletonAnimation meteor1 = FXManager.Instance.SetFx<SkeletonAnimation>(ui.tips_node, Fx_Type.fx_tips, ref closeCallback);
|
||
|
|
meteor1.timeScale = 0.5f;
|
||
|
|
meteor1.state.SetAnimation(0, "animation", false);
|
||
|
|
meteor1.state.Complete += (a) =>
|
||
|
|
{
|
||
|
|
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.OpenGameUI_Close);
|
||
|
|
};
|
||
|
|
if (AudioManager.Instance.IsOpenEffect)
|
||
|
|
{
|
||
|
|
AudioManager.Instance.PlayDynamicEffect(AudioConst.gamestart);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
DOVirtual.DelayedCall(2f, () => { UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.OpenGameUI_Close); });
|
||
|
|
} else {
|
||
|
|
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.OpenGameUI_Close);
|
||
|
|
}
|
||
|
|
};
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|