提交工程
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
namespace ChillConnect
|
||||
{
|
||||
public class EggViewCtrl : BaseCtrl
|
||||
{
|
||||
public static EggViewCtrl Instance { get; private set; }
|
||||
|
||||
private EggViewModel model;
|
||||
|
||||
#region 生命周期
|
||||
protected override void OnInit()
|
||||
{
|
||||
Instance = this;
|
||||
}
|
||||
|
||||
protected override void OnDispose()
|
||||
{
|
||||
Instance = null;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 消息
|
||||
protected override void AddListener()
|
||||
{
|
||||
|
||||
}
|
||||
protected override void RemoveListener()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected override void AddServerListener()
|
||||
{
|
||||
|
||||
}
|
||||
protected override void RemoveServerListener()
|
||||
{
|
||||
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 067af4881df6cf24da19c0bdc72b1c5d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,26 @@
|
||||
namespace ChillConnect
|
||||
{
|
||||
public class EggViewModel : BaseModel
|
||||
{
|
||||
#region 生命周期
|
||||
protected override void OnInit()
|
||||
{
|
||||
}
|
||||
|
||||
protected override void OnDispose()
|
||||
{
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 消息
|
||||
protected override void AddListener()
|
||||
{
|
||||
|
||||
}
|
||||
protected override void RemoveListener()
|
||||
{
|
||||
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c5e97df5815dcae438de3904dace8576
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,228 @@
|
||||
// using FGUI.A000_common;
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using DG.Tweening;
|
||||
using FairyGUI;
|
||||
using FGUI.Egg_20;
|
||||
using IgnoreOPS;
|
||||
using Spine.Unity;
|
||||
using UnityEngine;
|
||||
using Random = UnityEngine.Random;
|
||||
|
||||
namespace ChillConnect
|
||||
{
|
||||
public class EggViewUI : BaseUI
|
||||
{
|
||||
private EggViewUICtrl ctrl;
|
||||
|
||||
private com_egg ui;
|
||||
|
||||
private Action closeCallback;
|
||||
private bool isShowAnim;
|
||||
|
||||
public EggViewUI(EggViewUICtrl ctrl) : base(ctrl)
|
||||
{
|
||||
uiName = UIConst.EggViewUI;
|
||||
this.ctrl = ctrl;
|
||||
}
|
||||
|
||||
protected override void SetUIInfo(UIInfo uiInfo)
|
||||
{
|
||||
uiInfo.packageName = "Egg_20";
|
||||
uiInfo.assetName = "com_egg";
|
||||
uiInfo.layerType = UILayerType.Popup;
|
||||
uiInfo.isNeedOpenAnim = false;
|
||||
uiInfo.isNeedCloseAnim = false;
|
||||
uiInfo.isNeedUIMask = true;
|
||||
|
||||
}
|
||||
|
||||
#region 生命周期
|
||||
protected override void OnInit()
|
||||
{
|
||||
}
|
||||
|
||||
protected override void OnClose()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected override void OnBind()
|
||||
{
|
||||
ui = baseUI as com_egg;
|
||||
|
||||
}
|
||||
|
||||
private List<com_egg_item> eggList = new List<com_egg_item>();
|
||||
|
||||
protected override void OnOpenBefore(object args)
|
||||
{
|
||||
|
||||
if (Screen.safeArea.y != 0)
|
||||
{
|
||||
ui.com_gold.y += 68;
|
||||
}
|
||||
|
||||
|
||||
eggList.Add(ui.egg_item0);
|
||||
eggList.Add(ui.egg_item1);
|
||||
eggList.Add(ui.egg_item2);
|
||||
eggList.Add(ui.egg_item3);
|
||||
|
||||
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 void InitView()
|
||||
{
|
||||
ui.com_gold.GetChild("text_gold").text = GameHelper.Get101Str(GameHelper.GetGoldNumber());
|
||||
|
||||
int start = GameHelper.GetCommonModel().eggReward[0];
|
||||
int end = GameHelper.GetCommonModel().eggReward[1];
|
||||
int randomNumber = Random.Range(start, end + 1);
|
||||
|
||||
ui.btn_close.SetClick(() =>
|
||||
{
|
||||
if (isShowAnim)
|
||||
{
|
||||
GetReward(randomNumber);
|
||||
}
|
||||
else
|
||||
{
|
||||
CtrlCloseUI();
|
||||
}
|
||||
});
|
||||
ui.btn_claim.SetClick(() =>
|
||||
{
|
||||
if (isShowAnim)
|
||||
{
|
||||
GetReward(randomNumber);
|
||||
}
|
||||
});
|
||||
ui.btn_claim_mult.SetClick(() =>
|
||||
{
|
||||
if (isShowAnim)
|
||||
{
|
||||
GameHelper.ShowVideoAd("reward_egg", isSuccess =>
|
||||
{
|
||||
if (isSuccess)
|
||||
{
|
||||
GetReward(randomNumber * 2);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
for (int i = 0; i < eggList.Count; i++)
|
||||
{
|
||||
int index = i;
|
||||
eggList[index].egg_state.selectedIndex = 0;
|
||||
eggList[index].SetClick(() =>
|
||||
{
|
||||
eggList[index].egg.visible = false;
|
||||
setEggClickStatus(false);
|
||||
if (AudioManager.Instance.IsOpenEffect)
|
||||
{
|
||||
AudioManager.Instance.PlayDynamicEffect(AudioConst.egg);
|
||||
}
|
||||
|
||||
eggList[index].text_num.text = "x" + GameHelper.Get101Str(randomNumber);
|
||||
var ani_node = eggList[index].GetChild("anim_bg") as GGraph;
|
||||
var sk = FXManager.Instance.SetFx<SkeletonAnimation>(ani_node, Fx_Type.fx_egg_light, ref closeCallback);
|
||||
sk.state.SetAnimation(0, "animation", false);
|
||||
sk.state.Complete += a =>
|
||||
{
|
||||
isShowAnim = true;
|
||||
var sk1 = FXManager.Instance.SetFx<SkeletonAnimation>(eggList[index].GetChild("anim_bg1") as GGraph, Fx_Type.fx_egg, ref closeCallback);
|
||||
sk1.state.SetAnimation(0, "animation", true);
|
||||
eggList[index].egg_state.selectedIndex = 1;
|
||||
|
||||
setCliamStatus(true);
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
void setCliamStatus(bool show)
|
||||
{
|
||||
ui.btn_claim_mult.visible = show;
|
||||
|
||||
DOVirtual.DelayedCall(1f, () =>
|
||||
{
|
||||
ui.btn_claim.visible = show;
|
||||
});
|
||||
}
|
||||
|
||||
void setEggClickStatus(bool isClick)
|
||||
{
|
||||
foreach (var item in eggList)
|
||||
{
|
||||
item.touchable = isClick;
|
||||
}
|
||||
}
|
||||
|
||||
private void GetReward(int awardNum)
|
||||
{
|
||||
isShowAnim = false;
|
||||
var rewardData = new RewardData();
|
||||
var start_pos = GameHelper.GetUICenterPosition(ui.btn_claim_mult);
|
||||
var end = GameHelper.GetUICenterPosition(ui.com_gold.GetChild("icon"));
|
||||
|
||||
var rewardSingleData = new RewardSingleData(101, awardNum, RewardOrigin.AdTask)
|
||||
{
|
||||
startPosition = start_pos,
|
||||
endPosition = new Vector2(end.x - 150, end.y - 136)
|
||||
};
|
||||
|
||||
rewardData.AddReward(rewardSingleData);
|
||||
rewardData.displayType = RewardDisplayType.RewardFly | RewardDisplayType.ValueChange;
|
||||
rewardData.AddCompleted(success =>
|
||||
{
|
||||
if (success)
|
||||
{
|
||||
var startNum = DataMgr.Coin.Value - awardNum;
|
||||
|
||||
DOVirtual.Float(startNum, GameHelper.GetGoldNumber(), 1f,
|
||||
value => { ui.com_gold.GetChild("text_gold").text = GameHelper.Get101Str((decimal)value); });
|
||||
|
||||
DOVirtual.DelayedCall(1.2f, () =>
|
||||
{
|
||||
CtrlCloseUI();
|
||||
});
|
||||
|
||||
SaveData.GetSaveObject().crush_egg_time = (int)GameHelper.GetNowTime() + GameHelper.GetCommonModel().eggCD;
|
||||
SaveData.saveDataFunc();
|
||||
}
|
||||
|
||||
});
|
||||
GameDispatcher.Instance.Dispatch(GameMsg.GetReward, rewardData);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 521040850d295c84780f72d314d1fea2
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,79 @@
|
||||
|
||||
namespace ChillConnect
|
||||
{
|
||||
public class EggViewUICtrl : BaseUICtrl
|
||||
{
|
||||
private readonly uint closeUIMsg = UICtrlMsg.EggUI_Close;
|
||||
private EggViewModel model;
|
||||
|
||||
private readonly uint openUIMsg = UICtrlMsg.EggUI_Open;
|
||||
private EggViewUI ui;
|
||||
|
||||
|
||||
#region 生命周期
|
||||
|
||||
protected override void OnInit()
|
||||
{
|
||||
}
|
||||
|
||||
protected override void OnDispose()
|
||||
{
|
||||
}
|
||||
|
||||
public override void OpenUI(object args = null)
|
||||
{
|
||||
if (ui == null)
|
||||
{
|
||||
ui = new EggViewUI(this);
|
||||
ui.Open(args);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public override void CloseUI(object args = null)
|
||||
{
|
||||
if (ui != null && !ui.isClose)
|
||||
{
|
||||
ui.Close();
|
||||
}
|
||||
|
||||
ui = null;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 消息
|
||||
|
||||
public override uint GetOpenUIMsg(string uiName)
|
||||
{
|
||||
return openUIMsg;
|
||||
}
|
||||
|
||||
public override uint GetCloseUIMsg(string uiName)
|
||||
{
|
||||
return closeUIMsg;
|
||||
}
|
||||
|
||||
protected override void AddListener()
|
||||
{
|
||||
uiCtrlDispatcher.AddListener(openUIMsg, OpenUI);
|
||||
uiCtrlDispatcher.AddListener(closeUIMsg, CloseUI);
|
||||
}
|
||||
|
||||
protected override void RemoveListener()
|
||||
{
|
||||
uiCtrlDispatcher.RemoveListener(openUIMsg, OpenUI);
|
||||
uiCtrlDispatcher.RemoveListener(closeUIMsg, CloseUI);
|
||||
}
|
||||
|
||||
protected override void AddServerListener()
|
||||
{
|
||||
}
|
||||
|
||||
protected override void RemoveServerListener()
|
||||
{
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 548b6b5219329cc4f88e684c3ab7a168
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user