| System/HappyXB/BestXBWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/HappyXB/HappyXBGetItemWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/HappyXB/HappyXBModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/HappyXB/RuneXBWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/HappyXB/BestXBWin.cs
@@ -36,10 +36,25 @@ [SerializeField] Text toolNumText; [SerializeField] Button skipBtn; [SerializeField] GameObject skipImg; [Header("控制寻宝转动圈数")] [Header("单次寻宝圈数")] [SerializeField] int cycleTimes = 1; [Header("时间间隔")] [SerializeField] float delayTime = 0.1f; [Header("开始圈时间间隔")] [SerializeField] float startDelayTime = 0.15f; [Header("结束圈时间间隔")] [SerializeField] float endDelayTime = 0.005f; [Header("其他圈时间间隔")] [SerializeField] float otherDelayTime = 0.1f; [Header("开始圈初始加速度")] [SerializeField] float a1 = 0.3f; [Header("结束圈初始减速度")] [SerializeField] float a2 = 2f; [Header("其他圈初始加速度")] [SerializeField] float a3 = 0.5f; [Header("最大时间间隔")] [SerializeField] float maxTimeInter = 0.6f; [Header("最小时间间隔")] [SerializeField] float minTimeInter = 0.005f; [Header("得到物品停留时间")] [SerializeField] float stopTime = 2f; [Header("寻宝得到物品动画时间")] @@ -58,7 +73,6 @@ PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } } XBFuncSet funcSet; float coolTime = 3; protected override void BindController() { xbItemlist.Clear(); @@ -240,6 +254,12 @@ { XBModel.isJumpBestXB = !XBModel.isJumpBestXB; RefreshSkipUI(); if (XBModel.isJumpBestXB && XBModel.rangelist.Count > 0) { StopAllCoroutines(); ResetXBItemState(); WindowCenter.Instance.Open<HappyXBGetItemWin>(); } } private void RefreshItemCount(PackType type, int index, int id) @@ -384,7 +404,13 @@ IEnumerator PlayXBAni(int targetIndex,int curSelectIndex) { int cycle = 1; while(true) float xbSpeed1 = startDelayTime; float xbSpeed2 = endDelayTime; float xbSpeed3 = otherDelayTime; float xbA1 = a1; float XbA2 = a2; float xbA3 = a3; while (true) { curSelectIndex += 1; curSelectIndex %= xbItemlist.Count; @@ -394,17 +420,17 @@ } for (int i = 0; i < xbItemlist.Count; i++) { if(isXBMany) { xbItemlist[i].RefreshSelectIcon(curSelectIndex); } else { xbItemlist[i].RefreshSelectIcon(curSelectIndex); } xbItemlist[i].RefreshSelectIcon(curSelectIndex); } if(curSelectIndex == targetIndexs[targetIndex].gridIndex) int remainIndex = targetIndexs[targetIndex].gridIndex - curSelectIndex; if(remainIndex < 0) { remainIndex = xbItemlist.Count + remainIndex; } if (curSelectIndex == targetIndexs[targetIndex].gridIndex) { if (cycle > cycleTimes) { @@ -428,7 +454,42 @@ } cycle += 1; } yield return new WaitForSeconds(delayTime); switch(targetIndex) { case 0: xbSpeed1 -= xbA1 * 0.05f; if (xbSpeed1 <= minTimeInter) { xbSpeed1 = minTimeInter; } yield return new WaitForSeconds(xbSpeed1); break; case 9: if(cycle > 1 && remainIndex <= 4) { xbSpeed2 += XbA2 * 0.05f; if (xbSpeed2 >= maxTimeInter) { xbSpeed2 = maxTimeInter; } } else { xbSpeed2 = endDelayTime; } yield return new WaitForSeconds(xbSpeed2); break; default: xbSpeed3 -= xbA3 * 0.05f; if (xbSpeed3 <= minTimeInter) { xbSpeed3 = minTimeInter; } yield return new WaitForSeconds(xbSpeed3); break; } } } System/HappyXB/HappyXBGetItemWin.cs
@@ -107,6 +107,7 @@ break; } XBModel.StartXBEvent -= OnStartXB; XBModel.rangelist.Clear(); } protected override void OnAfterClose() System/HappyXB/HappyXBModel.cs
@@ -33,8 +33,8 @@ public override void Init() { isJumpBestXB = true; isJumpRuneXB = true; isJumpBestXB = false; isJumpRuneXB = false; xbGetItemDict.Clear(); xbTypeItemDict.Clear(); xbFuncSetDict.Clear(); System/HappyXB/RuneXBWin.cs
@@ -39,13 +39,26 @@ [SerializeField] GameObject skipImg; [Header("控制寻宝转动圈数")] [SerializeField] int cycleTimes = 1; [Header("时间间隔")] [SerializeField] float delayTime = 0.1f; [Header("开始圈时间间隔")] [SerializeField] float startDelayTime = 0.15f; [Header("结束圈时间间隔")] [SerializeField] float endDelayTime = 0.005f; [Header("其他圈时间间隔")] [SerializeField] float otherDelayTime = 0.1f; [Header("开始圈初始加速度")] [SerializeField] float a1 = 0.3f; [Header("结束圈初始减速度")] [SerializeField] float a2 = 2f; [Header("其他圈初始加速度")] [SerializeField] float a3 = 0.5f; [Header("最大时间间隔")] [SerializeField] float maxTimeInter = 0.6f; [Header("最小时间间隔")] [SerializeField] float minTimeInter = 0.005f; [Header("得到物品停留时间")] [SerializeField] float stopTime = 0.5f; [Header("寻宝得到物品动画时间")] [SerializeField] float scaleTime = 0.2f; List<XBItemCell> xbItemlist = new List<XBItemCell>(); List<XBGetItem> targetIndexs; @@ -250,6 +263,12 @@ { XBModel.isJumpRuneXB = !XBModel.isJumpRuneXB; RefreshSkipUI(); if (XBModel.isJumpRuneXB && XBModel.rangelist.Count > 0) { StopAllCoroutines(); ResetXBItemState(); WindowCenter.Instance.Open<HappyXBGetItemWin>(); } } private void RefreshItemCount(PackType type, int index, int id) @@ -397,6 +416,12 @@ IEnumerator PlayXBAni(int targetIndex, int curSelectIndex) { int cycle = 1; float xbSpeed1 = startDelayTime; float xbSpeed2 = endDelayTime; float xbSpeed3 = otherDelayTime; float xbA1 = a1; float XbA2 = a2; float xbA3 = a3; while (true) { curSelectIndex += 1; @@ -407,16 +432,14 @@ } for (int i = 0; i < xbItemlist.Count; i++) { if (isXBMany) { xbItemlist[i].RefreshSelectIcon(curSelectIndex); } else { xbItemlist[i].RefreshSelectIcon(curSelectIndex); } xbItemlist[i].RefreshSelectIcon(curSelectIndex); } int remainIndex = targetIndexs[targetIndex].gridIndex - curSelectIndex; if (remainIndex < 0) { remainIndex = xbItemlist.Count + remainIndex; } if (curSelectIndex == targetIndexs[targetIndex].gridIndex) { if (cycle > cycleTimes) @@ -441,7 +464,40 @@ } cycle += 1; } yield return new WaitForSeconds(delayTime); switch (targetIndex) { case 0: xbSpeed1 -= xbA1 * 0.05f; if (xbSpeed1 <= minTimeInter) { xbSpeed1 = minTimeInter; } yield return new WaitForSeconds(xbSpeed1); break; case 9: if (cycle > 1 && remainIndex <= 4) { xbSpeed2 += XbA2 * 0.05f; if (xbSpeed2 >= maxTimeInter) { xbSpeed2 = maxTimeInter; } } else { xbSpeed2 = endDelayTime; } yield return new WaitForSeconds(xbSpeed2); break; default: xbSpeed3 -= xbA3 * 0.05f; if (xbSpeed3 <= minTimeInter) { xbSpeed3 = minTimeInter; } yield return new WaitForSeconds(xbSpeed3); break; } } }