From 045b294b18d7e77a4bc5ea223f7744fd58f3e467 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期四, 23 八月 2018 18:23:19 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/HappyXB/HappyXBModel.cs | 78 +++++++++++++++
System/HappyXB/RuneXBWin.cs | 85 +++-------------
System/HappyXB/HappyXBGetItemWin.cs | 36 ++++--
System/HappyXB/BestXBWin.cs | 80 ++--------------
4 files changed, 128 insertions(+), 151 deletions(-)
diff --git a/System/HappyXB/BestXBWin.cs b/System/HappyXB/BestXBWin.cs
index 567c351..bbc484b 100644
--- a/System/HappyXB/BestXBWin.cs
+++ b/System/HappyXB/BestXBWin.cs
@@ -94,7 +94,7 @@
}
protected override void OnPreOpen()
{
- XBModel.RefreshAgainXBAct += RefreshAgainXB;
+ XBModel.StartXBEvent += OnStartXB;
XBModel.RefreshBestXBTimeAct += RefreshFreeTime;
XBModel.RefreshXBTypeInfoAct += RefreshXBTypeInfo;
XBModel.RefreshXBResultAct += RefreshXBResult;
@@ -125,8 +125,8 @@
XBModel.RefreshBestXBTimeAct -= RefreshFreeTime;
XBModel.RefreshXBResultAct -= RefreshXBResult;
XBModel.RefreshXBTypeInfoAct -= RefreshXBTypeInfo;
- XBModel.RefreshAgainXBAct -= RefreshAgainXB;
playerPack.RefreshItemCountAct -= RefreshItemCount;
+ XBModel.StartXBEvent -= OnStartXB;
GlobalTimeEvent.Instance.secondEvent -= RefreshSecond;
}
protected override void OnAfterClose()
@@ -246,98 +246,38 @@
}
}
-
- private void RefreshAgainXB(HappXBTitle title, int xbType)
- {
- if (title != HappXBTitle.Best) return;
- if (xbType == 0) ClickXBBtn();
- else if (xbType == 1) ClickXBManyBtn();
- }
-
bool isXBMany = false;
private void ClickXBManyBtn()
{
- if (XBModel.CheckIsEmptyGrid(PackType.rptTreasure))
- {
- int toolCnt = 0;
- int needToolCnt = 0;
- if (XBModel.IsHaveManyXBTool(1,out toolCnt,out needToolCnt))
- {
- needToolCnt= needToolCnt - toolCnt;
- int needMoney = needToolCnt * xbOneMoney;
- if(needToolCnt > 0)
- {
- ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(funcSet.costToolIds[1]);
- ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("HappyXBCostTools", funcSet.costToolNums[1], itemConfig.ItemName,needMoney, needToolCnt), (bool isOk) =>
- {
- if (isOk)
- {
- CheckXBManyLimit(needMoney);
- }
- return;
- });
- }
- else
- {
- CheckXBManyLimit(xbManyMoney);
- }
-
- }
- else
- {
- CheckXBManyLimit(xbManyMoney);
- }
-
- }
+ XBModel.SendXBManyQuest(PackType.rptTreasure,1);
}
- private void CheckXBManyLimit(int needMoney)
+ private void OnStartXB(int oneOrMany)
{
- if (UIHelper.GetMoneyCnt(1) >= (ulong)needMoney)
+ if(oneOrMany == 0)
{
maskObj.SetActive(true);
- isXBMany = true;
- XBModel.SendXBQuest(1, 1, 2);
+ isXBMany = false;
}
else
{
- WindowCenter.Instance.Open<RechargeTipWin>();
+ maskObj.SetActive(true);
+ isXBMany = true;
}
+
}
private void ClickFreeXbBtn()
{
if (XBModel.CheckIsEmptyGrid(PackType.rptTreasure))
{
- maskObj.SetActive(true);
- isXBMany = false;
XBModel.SendXBQuest(1, 0, 1);
}
}
private void ClickXBBtn()
{
- if (XBModel.CheckIsEmptyGrid(PackType.rptTreasure))
- {
- if(XBModel.IsHaveOneXBTool(1))
- {
- XBModel.SendXBQuest(1, 0, 2);
- }
- else
- {
- if (UIHelper.GetMoneyCnt(1) >= (ulong)xbOneMoney)
- {
- maskObj.SetActive(true);
- isXBMany = false;
- XBModel.SendXBQuest(1, 0, 0);
- }
- else
- {
- WindowCenter.Instance.Open<RechargeTipWin>();
- }
- }
-
- }
+ XBModel.SendOneXBQuest(PackType.rptTreasure, 1);
}
private void RefreshXBTypeInfo()
diff --git a/System/HappyXB/HappyXBGetItemWin.cs b/System/HappyXB/HappyXBGetItemWin.cs
index eb4f6a1..2c0496c 100644
--- a/System/HappyXB/HappyXBGetItemWin.cs
+++ b/System/HappyXB/HappyXBGetItemWin.cs
@@ -55,6 +55,7 @@
protected override void OnPreOpen()
{
+ XBModel.StartXBEvent += OnStartXB;
getItem.SetActive(false);
isHaveFreeTime = XBModel.IsHaveFreeXBTime((int)XBModel.title);
InitUI();
@@ -105,6 +106,7 @@
XBModel.RefreshRuneXBTimeAct -= RefreshFreeTime;
break;
}
+ XBModel.StartXBEvent -= OnStartXB;
}
protected override void OnAfterClose()
@@ -224,28 +226,34 @@
private void ClickXBBtn()
{
- if(UIHelper.GetMoneyCnt(1) >= (ulong)xbOneMoney)
+ switch (XBModel.title)
{
- XBModel.SetAgainXBEvent(XBModel.title,0);
- ClickBackBtn();
+ case HappXBTitle.Best:
+ XBModel.SendOneXBQuest(PackType.rptTreasure, 1);
+ break;
+ case HappXBTitle.Rune:
+ XBModel.SendOneXBQuest(PackType.rptRunePack, 2);
+ break;
}
- else
- {
- WindowCenter.Instance.Open<RechargeTipWin>();
- }
+
}
private void ClickXBManyBtn()
{
- if (UIHelper.GetMoneyCnt(1) >= (ulong)xbManyMoney)
+ switch (XBModel.title)
{
- XBModel.SetAgainXBEvent(XBModel.title,1);
- ClickBackBtn();
+ case HappXBTitle.Best:
+ XBModel.SendXBManyQuest(PackType.rptTreasure, 1);
+ break;
+ case HappXBTitle.Rune:
+ XBModel.SendXBManyQuest(PackType.rptRunePack, 2);
+ break;
}
- else
- {
- WindowCenter.Instance.Open<RechargeTipWin>();
- }
+ }
+
+ private void OnStartXB(int oneOrMany)
+ {
+ ClickBackBtn();
}
private void ClickBackBtn()
diff --git a/System/HappyXB/HappyXBModel.cs b/System/HappyXB/HappyXBModel.cs
index 194da3b..dc4fbab 100644
--- a/System/HappyXB/HappyXBModel.cs
+++ b/System/HappyXB/HappyXBModel.cs
@@ -477,6 +477,7 @@
/// </summary>
/// <param name="type"></param>
/// <param name="index"></param>
+ public event Action<int> StartXBEvent;
public void SendXBQuest(int type,int index,int costType)
{
isXBCoolTime = true;
@@ -485,6 +486,10 @@
treasure.TreasureIndex = (byte)index;
treasure.CostType = (byte)costType;
GameNetSystem.Instance.SendInfo(treasure);
+ if(StartXBEvent != null)
+ {
+ StartXBEvent(index);
+ }
}
public void SendPutOutXBItem(PackType curType,PackType targetType,int index,int isAll)
@@ -520,6 +525,79 @@
}
return true;
}
+
+ public void SendOneXBQuest(PackType type,int xbType)
+ {
+ var funcSet = GetXBFuncSet(xbType);
+ if (CheckIsEmptyGrid(type))
+ {
+ if (IsHaveOneXBTool(xbType))
+ {
+ SendXBQuest(xbType, 0, 2);
+ }
+ else
+ {
+ int xbOneMoney = funcSet.xbPrices[0];
+ if (UIHelper.GetMoneyCnt(1) >= (ulong)xbOneMoney)
+ {
+ SendXBQuest(xbType, 0, 0);
+ }
+ else
+ {
+ WindowCenter.Instance.Open<RechargeTipWin>();
+ }
+ }
+ }
+ }
+
+ public void SendXBManyQuest(PackType type, int xbType)
+ {
+ var funcSet = GetXBFuncSet(xbType);
+ if (CheckIsEmptyGrid(type))
+ {
+ int toolCnt = 0;
+ int needToolCnt = 0;
+ if (IsHaveManyXBTool(xbType, out toolCnt, out needToolCnt))
+ {
+ needToolCnt = needToolCnt - toolCnt;
+ int needMoney = needToolCnt * funcSet.xbPrices[0];
+ if (needMoney > 0)
+ {
+ ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(funcSet.costToolIds[1]);
+ ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("HappyXBCostTools", funcSet.costToolNums[1], itemConfig.ItemName, needMoney, needToolCnt), (bool isOk) =>
+ {
+ if (isOk)
+ {
+ CheckXBManyLimit(needMoney, xbType);
+ }
+ return;
+ });
+ }
+ else
+ {
+ CheckXBManyLimit(0, xbType);
+ }
+
+ }
+ else
+ {
+ CheckXBManyLimit(funcSet.xbPrices[1],xbType);
+ }
+
+ }
+ }
+
+ public void CheckXBManyLimit(int needMoney,int xbtype)
+ {
+ if (UIHelper.GetMoneyCnt(1) >= (ulong)needMoney)
+ {
+ SendXBQuest(xbtype, 1, 2);
+ }
+ else
+ {
+ WindowCenter.Instance.Open<RechargeTipWin>();
+ }
+ }
#endregion
public bool IsHaveFreeXB(int type)
diff --git a/System/HappyXB/RuneXBWin.cs b/System/HappyXB/RuneXBWin.cs
index 5dea506..caba398 100644
--- a/System/HappyXB/RuneXBWin.cs
+++ b/System/HappyXB/RuneXBWin.cs
@@ -102,6 +102,7 @@
protected override void OnPreOpen()
{
+ XBModel.StartXBEvent += OnStartXB;
playerPack.RefreshItemCountAct += RefreshItemCount;
XBModel.RefreshAgainXBAct += RefreshAgainXB;
XBModel.RefreshRuneXBTimeAct += RefreshFreeTime;
@@ -136,6 +137,7 @@
XBModel.RefreshXBTypeInfoAct -= RefreshXBTypeInfo;
playerPack.RefreshItemCountAct -= RefreshItemCount;
GlobalTimeEvent.Instance.secondEvent -= RefreshSecond;
+ XBModel.StartXBEvent -= OnStartXB;
}
protected override void OnAfterClose()
{
@@ -263,87 +265,36 @@
bool isXBMany = false;
private void ClickXBManyBtn()
{
- if (XBModel.CheckIsEmptyGrid(PackType.rptRunePack))
- {
- int toolCnt = 0;
- int needToolCnt = 0;
- if (XBModel.IsHaveManyXBTool(2, out toolCnt,out needToolCnt))
- {
- needToolCnt = funcSet.costToolNums[1] - toolCnt;
- int needMoney = needToolCnt * xbOneMoney;
- if (needToolCnt > 0)
- {
- ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(funcSet.costToolIds[1]);
- ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("HappyXBCostTools", funcSet.costToolNums[1], itemConfig.ItemName,needMoney, needToolCnt), (bool isOk) =>
- {
- if (isOk)
- {
- CheckXBManyLimit(needMoney);
- }
- return;
- });
- }
- else
- {
- CheckXBManyLimit(xbManyMoney);
- }
-
- }
- else
- {
- CheckXBManyLimit(xbManyMoney);
- }
- }
- }
-
- private void CheckXBManyLimit(int needMoney)
- {
- if (UIHelper.GetMoneyCnt(1) >= (ulong)needMoney)
- {
- maskObj.SetActive(true);
- isXBMany = true;
- XBModel.SendXBQuest(2, 1, 2);
- }
- else
- {
- WindowCenter.Instance.Open<RechargeTipWin>();
- }
+ XBModel.SendXBManyQuest(PackType.rptRunePack, 2);
}
private void ClickXBBtn()
{
- if(XBModel.CheckIsEmptyGrid(PackType.rptRunePack))
- {
- if (XBModel.IsHaveOneXBTool(2))
- {
- XBModel.SendXBQuest(2, 0, 2);
- }
- else
- {
- if (UIHelper.GetMoneyCnt(1) >= (ulong)xbOneMoney)
- {
- maskObj.SetActive(true);
- isXBMany = false;
- XBModel.SendXBQuest(2, 0, 0);
- }
- else
- {
- WindowCenter.Instance.Open<RechargeTipWin>();
- }
- }
- }
+ XBModel.SendOneXBQuest(PackType.rptRunePack, 2);
}
private void ClickFreeXbBtn()
{
if (XBModel.CheckIsEmptyGrid(PackType.rptRunePack))
{
- maskObj.SetActive(true);
- isXBMany = false;
XBModel.SendXBQuest(2, 0, 1);
}
}
+ private void OnStartXB(int oneOrMany)
+ {
+ maskObj.SetActive(true);
+ if (oneOrMany == 0)
+ {
+ isXBMany = false;
+ }
+ else
+ {
+ isXBMany = true;
+ }
+
+ }
+
private void RefreshXBTypeInfo()
{
XBTypeInfo typeInfo = XBModel.GetXBInfoByType(2);
--
Gitblit v1.8.0