|
@@ -14,6 +14,7 @@ namespace GFGGame
|
|
|
private List<List<GComponent>> itemList = new List<List<GComponent>>();
|
|
|
private GComponent guideDouBaoBtn;
|
|
|
private GComponent guideAfuBtn;
|
|
|
+ private bool canBtn = true;
|
|
|
private List<List<int>> idList = new List<List<int>>();
|
|
|
private int itemNum;
|
|
|
private int maxLv;
|
|
@@ -28,6 +29,7 @@ namespace GFGGame
|
|
|
private float startY;
|
|
|
private int indexX;
|
|
|
private int indexY;
|
|
|
+ private float waitBtnTime = 0.6f;
|
|
|
|
|
|
//当前任务id;后台获取数据
|
|
|
private int taskId;
|
|
@@ -58,7 +60,7 @@ namespace GFGGame
|
|
|
_ui = UI_MergeGameUI.Create();
|
|
|
this.viewCom = _ui.target;
|
|
|
isfullScreen = true;
|
|
|
-
|
|
|
+ isReturnView = true;
|
|
|
_valueBarController = new ValueBarController(_ui.m_valueBar);
|
|
|
_ui.m_backBtn.onClick.Add(Hide);
|
|
|
_ui.m_rewardGet.onClick.Add(SubmitTask);
|
|
@@ -75,6 +77,8 @@ namespace GFGGame
|
|
|
_valueBarController.UpdateList(new List<int>() {propID});
|
|
|
//进入这个界面的时候向后台获取任务id和历史id列表
|
|
|
idList = MiniGameDateManager.Instance.GetIdListToLL();
|
|
|
+ canBtn = true;
|
|
|
+ waitBtnTime = 0.7f;
|
|
|
UpdateView();
|
|
|
UpdateList();
|
|
|
UpdateTask();
|
|
@@ -88,12 +92,15 @@ namespace GFGGame
|
|
|
{
|
|
|
for (int j = 0; j < itemNum; j++)
|
|
|
{
|
|
|
+ itemList[i][j].GetChild("icon").icon = "";
|
|
|
itemList[i][j].Dispose();
|
|
|
itemList[i][j] = null;
|
|
|
}
|
|
|
}
|
|
|
idList.Clear();
|
|
|
itemList.Clear();
|
|
|
+ _ui.m_rangeDown.RemoveChildren();
|
|
|
+ Timers.inst.Remove(UpdateBtnTimer);
|
|
|
base.OnHide();
|
|
|
}
|
|
|
protected override void AddEventListener()
|
|
@@ -104,9 +111,10 @@ namespace GFGGame
|
|
|
{
|
|
|
base.RemoveEventListener();
|
|
|
}
|
|
|
- private void UpdateData()
|
|
|
+ private void UpdateBtnTimer(object param)
|
|
|
{
|
|
|
-
|
|
|
+ canBtn = true;
|
|
|
+ Timers.inst.Remove(UpdateBtnTimer);
|
|
|
}
|
|
|
private void UpdateView()
|
|
|
{
|
|
@@ -144,14 +152,14 @@ namespace GFGGame
|
|
|
{
|
|
|
guideAfuBtn = itemList[i][j];
|
|
|
itemList[i][j].GetChild("icon").icon = "ui://MiniGame/jbnf_doubao_icon";
|
|
|
- itemList[i][j].onClick.Add(OnClickAFuBtn);
|
|
|
+ itemList[i][j].onClick.Add(OnClickDouBaoBtn);
|
|
|
continue;
|
|
|
}
|
|
|
if ( j == itemNum - 1)
|
|
|
{
|
|
|
guideAfuBtn = itemList[i][j];
|
|
|
itemList[i][j].GetChild("icon").icon = "ui://MiniGame/jbnf_afu_icon";
|
|
|
- itemList[i][j].onClick.Add(OnClickDouBaoBtn);
|
|
|
+ itemList[i][j].onClick.Add(OnClickAFuBtn);
|
|
|
continue;
|
|
|
}
|
|
|
}
|
|
@@ -217,7 +225,7 @@ namespace GFGGame
|
|
|
itemList[endIndexX][endIndexY].data = itemEndInfo + 1;
|
|
|
itemList[endIndexX][endIndexY].GetChild("icon").icon = ResPathUtil.GetMiniGamePicPath(MergeCfgArray.Instance.GetCfgByresTypeAndmaterialld(_res, itemEndInfo + 1).resName, "MergeGame");
|
|
|
ShowNewMaterialView(endIndexX, endIndexY);
|
|
|
- UI_MergeGameItemUI itemUI = UI_MergeGameItemUI.Proxy(itemList[endIndexX][endIndexY]);
|
|
|
+ UI_MergeGameItemUI itemUI = UI_MergeGameItemUI.Proxy(itemList[endIndexX][endIndexY]);
|
|
|
itemUI.m_t0.Play();
|
|
|
UI_MergeGameItemUI.ProxyEnd();
|
|
|
|
|
@@ -229,11 +237,11 @@ namespace GFGGame
|
|
|
{
|
|
|
_ui.m_rewardGet.visible = false;
|
|
|
}
|
|
|
- bool result = await MiniGameProxy.ReqMergeGame(indexID, itemEndInfo, afterIDList, MiniGameDateManager.Instance.GetListByll(idList));
|
|
|
- if(!result)
|
|
|
+
|
|
|
+ bool result = await MiniGameProxy.ReqMergeGame(itemEndInfo, itemEndInfo, afterIDList, MiniGameDateManager.Instance.GetListByll(idList));
|
|
|
+ if(result)
|
|
|
{
|
|
|
idList = MiniGameDateManager.Instance.GetIdListToLL();
|
|
|
- UpdateList();
|
|
|
}
|
|
|
}
|
|
|
if (itemEndInfo != indexID && itemEndInfo == 0)
|
|
@@ -249,10 +257,9 @@ namespace GFGGame
|
|
|
indexID = 0;
|
|
|
|
|
|
bool result = await MiniGameProxy.ReqMergeGame(indexID, itemEndInfo, afterIDList, MiniGameDateManager.Instance.GetListByll(idList));
|
|
|
- if (!result)
|
|
|
+ if(result)
|
|
|
{
|
|
|
idList = MiniGameDateManager.Instance.GetIdListToLL();
|
|
|
- UpdateList();
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -275,6 +282,7 @@ namespace GFGGame
|
|
|
|
|
|
_ui.m_rangeTop.RemoveChild(item);
|
|
|
_ui.m_rangeDown.AddChild(item);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
private void OnClickItem(EventContext context)
|
|
@@ -296,30 +304,41 @@ namespace GFGGame
|
|
|
|
|
|
}
|
|
|
|
|
|
- private void OnClickSellBtn()
|
|
|
+ private async void OnClickSellBtn()
|
|
|
{
|
|
|
if(materialID == 0)
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
- //移除
|
|
|
- _ui.m_name.text = "";
|
|
|
- _ui.m_desc.text = "";
|
|
|
- _ui.m_sellBtn.target.GetChild("sellReward").icon = "";
|
|
|
- _ui.m_sellBtn.target.GetChild("sellGetNum").text = "";
|
|
|
- materialID = 0;
|
|
|
- idList[indexX][indexY] = 0;
|
|
|
- itemList[indexX][indexY].data = 0;
|
|
|
- UI_MergeGameItemUI itemUI = UI_MergeGameItemUI.Proxy(itemList[indexX][indexY]);
|
|
|
- itemUI.m_t2.Play();
|
|
|
- itemUI.m_t3.Play();
|
|
|
- UI_MergeGameItemUI.ProxyEnd();
|
|
|
- indexX = 0;
|
|
|
- indexY = 0;
|
|
|
- //获得奖励
|
|
|
+ int index = indexX * itemNum + indexY;
|
|
|
+ bool result = await MiniGameProxy.ReqMergeGameSellBtn(materialID, index);
|
|
|
+ if(result)
|
|
|
+ {
|
|
|
+ //移除
|
|
|
+ _ui.m_name.text = "";
|
|
|
+ _ui.m_desc.text = "";
|
|
|
+ _ui.m_sellBtn.target.GetChild("sellReward").icon = "";
|
|
|
+ _ui.m_sellBtn.target.GetChild("sellGetNum").text = "";
|
|
|
+ materialID = 0;
|
|
|
+ idList[indexX][indexY] = 0;
|
|
|
+ itemList[indexX][indexY].data = 0;
|
|
|
+ UI_MergeGameItemUI itemUI = UI_MergeGameItemUI.Proxy(itemList[indexX][indexY]);
|
|
|
+ itemUI.m_t2.Play();
|
|
|
+ itemUI.m_t3.Play();
|
|
|
+ UI_MergeGameItemUI.ProxyEnd();
|
|
|
+ indexX = 0;
|
|
|
+ indexY = 0;
|
|
|
+ //获得奖励
|
|
|
+ }
|
|
|
}
|
|
|
private async void OnClickAFuBtn()
|
|
|
{
|
|
|
+ if (!canBtn)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ canBtn = false;
|
|
|
+ Timers.inst.Add(waitBtnTime, 1,UpdateBtnTimer);
|
|
|
bool gameOver = false;
|
|
|
for (int i = 0; i < itemNum; i++)
|
|
|
{
|
|
@@ -340,29 +359,43 @@ namespace GFGGame
|
|
|
bool result = await MiniGameProxy.ReqMergeGameBtn(2,taskId);
|
|
|
if(result)
|
|
|
{
|
|
|
- int x = MatchingCompetitionDataManager.Instance.GetIDListByString(MiniGameDateManager.Instance.ItemIdVPosition)[1] / itemNum;
|
|
|
- int y = MatchingCompetitionDataManager.Instance.GetIDListByString(MiniGameDateManager.Instance.ItemIdVPosition)[1] % itemNum;
|
|
|
- int num = MatchingCompetitionDataManager.Instance.GetIDListByString(MiniGameDateManager.Instance.ItemIdVPosition)[0];
|
|
|
- if (idList[x][y] == 0)
|
|
|
- {
|
|
|
- idList[x][y] = num;
|
|
|
- itemList[x][y].data = num;
|
|
|
- itemList[x][y].GetChild("icon").icon = ResPathUtil.GetMiniGamePicPath(MergeCfgArray.Instance.GetCfgByresTypeAndmaterialld(_res, num).resName, "MergeGame");
|
|
|
- itemList[x][y].draggable = true;
|
|
|
- UI_MergeGameItemUI itemUI = UI_MergeGameItemUI.Proxy(itemList[x][y]);
|
|
|
- itemUI.m_t1.Play();
|
|
|
- UI_MergeGameItemUI.ProxyEnd();
|
|
|
- }
|
|
|
+ int x = MiniGameDateManager.Instance.GetIDListByString(MiniGameDateManager.Instance.ItemIdVPosition)[1] / itemNum;
|
|
|
+ int y = MiniGameDateManager.Instance.GetIDListByString(MiniGameDateManager.Instance.ItemIdVPosition)[1] % itemNum;
|
|
|
+ int num = MiniGameDateManager.Instance.GetIDListByString(MiniGameDateManager.Instance.ItemIdVPosition)[0];
|
|
|
+ //if (idList[x][y] == 0)
|
|
|
+ if (x == 4 && y == 0)
|
|
|
+ {
|
|
|
+ Debug.LogError("位置错误");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ else if (x == 4 && y == 4)
|
|
|
+ {
|
|
|
+ Debug.LogError("位置错误");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ idList[x][y] = num;
|
|
|
+ itemList[x][y].data = num;
|
|
|
+ itemList[x][y].GetChild("icon").icon = ResPathUtil.GetMiniGamePicPath(MergeCfgArray.Instance.GetCfgByresTypeAndmaterialld(_res, num).resName, "MergeGame");
|
|
|
+ itemList[x][y].draggable = true;
|
|
|
+ UI_MergeGameItemUI itemUI = UI_MergeGameItemUI.Proxy(itemList[x][y]);
|
|
|
+ itemUI.m_t1.Play();
|
|
|
+ UI_MergeGameItemUI.ProxyEnd();
|
|
|
+
|
|
|
idList = MiniGameDateManager.Instance.GetIdListToLL();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- idList = MiniGameDateManager.Instance.GetIdListToLL();
|
|
|
- UpdateList();
|
|
|
}
|
|
|
}
|
|
|
private async void OnClickDouBaoBtn()
|
|
|
{
|
|
|
+ if(!canBtn)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ canBtn = false;
|
|
|
+ Timers.inst.Add(waitBtnTime, 1, UpdateBtnTimer);
|
|
|
bool gameOver = false;
|
|
|
for (int i = 0; i < itemNum; i++)
|
|
|
{
|
|
@@ -383,25 +416,33 @@ namespace GFGGame
|
|
|
bool result = await MiniGameProxy.ReqMergeGameBtn(1,taskId);
|
|
|
if (result)
|
|
|
{
|
|
|
- int x = MatchingCompetitionDataManager.Instance.GetIDListByString(MiniGameDateManager.Instance.ItemIdVPosition)[1] / itemNum;
|
|
|
- int y = MatchingCompetitionDataManager.Instance.GetIDListByString(MiniGameDateManager.Instance.ItemIdVPosition)[1] % itemNum;
|
|
|
- int num = MatchingCompetitionDataManager.Instance.GetIDListByString(MiniGameDateManager.Instance.ItemIdVPosition)[0];
|
|
|
- if (idList[x][y] == 0)
|
|
|
- {
|
|
|
- idList[x][y] = num;
|
|
|
- itemList[x][y].data = num;
|
|
|
- itemList[x][y].draggable = true;
|
|
|
- itemList[x][y].GetChild("icon").icon = ResPathUtil.GetMiniGamePicPath(MergeCfgArray.Instance.GetCfgByresTypeAndmaterialld(_res, num).resName, "MergeGame");
|
|
|
- UI_MergeGameItemUI itemUI = UI_MergeGameItemUI.Proxy(itemList[x][y]);
|
|
|
- itemUI.m_t1.Play();
|
|
|
- UI_MergeGameItemUI.ProxyEnd();
|
|
|
- }
|
|
|
+ int x = MiniGameDateManager.Instance.GetIDListByString(MiniGameDateManager.Instance.ItemIdVPosition)[1] / itemNum;
|
|
|
+ int y = MiniGameDateManager.Instance.GetIDListByString(MiniGameDateManager.Instance.ItemIdVPosition)[1] % itemNum;
|
|
|
+ int num = MiniGameDateManager.Instance.GetIDListByString(MiniGameDateManager.Instance.ItemIdVPosition)[0];
|
|
|
+ //if (idList[x][y] == 0)
|
|
|
+ if(x == 4 && y == 0)
|
|
|
+ {
|
|
|
+ Debug.LogError("位置错误");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ else if(x== 4 && y== 4)
|
|
|
+ {
|
|
|
+ Debug.LogError("位置错误");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ idList[x][y] = num;
|
|
|
+ itemList[x][y].data = num;
|
|
|
+ itemList[x][y].draggable = true;
|
|
|
+ itemList[x][y].GetChild("icon").icon = ResPathUtil.GetMiniGamePicPath(MergeCfgArray.Instance.GetCfgByresTypeAndmaterialld(_res, num).resName, "MergeGame");
|
|
|
+ UI_MergeGameItemUI itemUI = UI_MergeGameItemUI.Proxy(itemList[x][y]);
|
|
|
+ itemUI.m_t1.Play();
|
|
|
+ UI_MergeGameItemUI.ProxyEnd();
|
|
|
+
|
|
|
idList = MiniGameDateManager.Instance.GetIdListToLL();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- idList = MiniGameDateManager.Instance.GetIdListToLL();
|
|
|
- UpdateList();
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -454,6 +495,24 @@ namespace GFGGame
|
|
|
_ui.m_desc.text = "";
|
|
|
materialID = 0;
|
|
|
}
|
|
|
+ private void UpdateShowList()
|
|
|
+ {
|
|
|
+ for (int i = 0; i < itemNum; i++)
|
|
|
+ {
|
|
|
+ for (int j = 0; j < itemNum; j++)
|
|
|
+ {
|
|
|
+ itemList[i][j].data = idList[i][j];
|
|
|
+ if (idList[i][j] == 0)
|
|
|
+ {
|
|
|
+ itemList[i][j].GetChild("icon").icon = "";
|
|
|
+ }
|
|
|
+ else if (idList[i][j] > 0)
|
|
|
+ {
|
|
|
+ itemList[i][j].GetChild("icon").icon = ResPathUtil.GetMiniGamePicPath(MergeCfgArray.Instance.GetCfgByresTypeAndmaterialld(_res, idList[i][j]).resName, "MergeGame");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
//提交任务
|
|
|
private async void SubmitTask()
|
|
|
{
|
|
@@ -493,11 +552,10 @@ namespace GFGGame
|
|
|
taskId = MiniGameDateManager.Instance.taskID;
|
|
|
idList = MiniGameDateManager.Instance.GetIdListToLL();
|
|
|
UpdateTask();
|
|
|
- UpdateList();
|
|
|
+ UpdateShowList();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- Debug.LogError("489有问题");
|
|
|
}
|
|
|
}
|
|
|
//检查是否达到提交要求
|
|
@@ -543,19 +601,13 @@ namespace GFGGame
|
|
|
//判断是否是新材料。再显示
|
|
|
if(MiniGameDateManager.Instance.NewItemIdDic.ContainsKey(idList[i][j]))
|
|
|
{
|
|
|
- if(MiniGameDateManager.Instance.NewItemIdDic[idList[i][j]]!= 1)
|
|
|
- {
|
|
|
- return;
|
|
|
- }
|
|
|
+ return;
|
|
|
}
|
|
|
_ui.m_newMaterial.target.x = itemList[i][j].x + _ui.m_rangeDown.x;
|
|
|
_ui.m_newMaterial.target.y = itemList[i][j].y + _ui.m_rangeDown.y;
|
|
|
_ui.m_newMaterial.target.visible = true;
|
|
|
_ui.m_newMaterial.target.GetChild("icon").icon = ResPathUtil.GetMiniGamePicPath(MergeCfgArray.Instance.GetCfgByresTypeAndmaterialld(_res, idList[i][j]).resName,"MergeGame");
|
|
|
- UI_MergeGameItemUI itemUI = UI_MergeGameItemUI.Proxy(_ui.m_newMaterial.target);
|
|
|
- itemUI.m_t0.Play();
|
|
|
- UI_MergeGameItemUI.ProxyEnd();
|
|
|
-
|
|
|
+ _ui.m_newMaterial.m_t0.Play();
|
|
|
}
|
|
|
private void OnClickHideTips()
|
|
|
{
|