diff --git a/Assets/Scripts/UI/Prefab/Rower/RowerMultiModeScript.cs b/Assets/Scripts/UI/Prefab/Rower/RowerMultiModeScript.cs index 777e9e20..e5921bf5 100644 --- a/Assets/Scripts/UI/Prefab/Rower/RowerMultiModeScript.cs +++ b/Assets/Scripts/UI/Prefab/Rower/RowerMultiModeScript.cs @@ -131,7 +131,7 @@ public class RowerMultiModeScript : MonoBehaviour { rankDiffDict[userId].rank = rank; rankDiffDict[userId].diff = userList[i].currentRank - rank; - if (currentSecond % 2 == 0) + if (currentSecond % 3 == 0) { rankDiffDict[userId].sumdiff = rankDiffDict[userId].diff; } @@ -401,7 +401,15 @@ public class RowerMultiModeScript : MonoBehaviour return new int[] { mineIndex - 2, mineIndex + 2 }; } } - + private Color RandomColor() + { + //随机颜色的HSV值,饱和度不变,只改变H值 + //H、S、V三个值的范围都是在0~1之间 + float h = UnityEngine.Random.Range(0f, 1f);//随机值 + float s = 0.3f;//设置饱和度为定值 + Color color = Color.HSVToRGB(h, s, 1); + return color; + } private void DisplayTraces(bool isRefresh = false) { var list = userList; @@ -424,46 +432,65 @@ public class RowerMultiModeScript : MonoBehaviour g.SetActive(true); g.transform.localScale = Vector3.one; g.transform.localPosition = new Vector3(0, -21.5f - 47f * i); + //g.transform.Find("T1/p1").GetComponent().color = RandomColor(); traceList.Add(new Trace { userId = data.UserId, trace = g.transform.Find("T1") }); } listc.GetComponent().sizeDelta = new Vector2(550f, 43 + 47 * (list.Count - 1)); listc.DOLocalMoveY(47 * sindex + 115.5f, 0.8f); return; } - var allsq = DOTween.Sequence(); - // -21.5 - allsq.Join(listc.DOLocalMoveY(47 * sindex + 115.5f, 0.9f)); - var sq = DOTween.Sequence(); - for (i = 0; i < list.Count; i++) + + if (currentSecond % 3 == 2) { - var data = list[i]; - var t = traceList.FirstOrDefault(x=>x.userId == data.UserId).trace; - var diff = rankDiffDict[data.UserId]; - DisplayTrace(t.Find("p1"), data, mineData, true); - - if (diff.diff != 0) + var allsq = DOTween.Sequence(); + // -21.5 + allsq.Join(listc.DOLocalMoveY(47 * sindex + 115.5f, 1.5f)); + var sq = DOTween.Sequence(); + for (i = 0; i < list.Count; i++) { - if (diff.diff > 0) + var data = list[i]; + var t = traceList.FirstOrDefault(x => x.userId == data.UserId).trace; + print($"{t.parent.localPosition}"); + var diff = rankDiffDict[data.UserId]; + DisplayTrace(t.Find("p1"), data, mineData, true); + + if (diff.sumdiff != 0) { - t.parent.SetAsLastSibling(); + if (diff.sumdiff > 0) + { + t.parent.SetAsLastSibling(); + } + //t.parent.gets + + sq.Join(t.parent.DOLocalMoveY(-47 * (diff.rank - 1) - 21.5f, 1.5f)); + var sq1 = DOTween.Sequence(); + sq1.Append(t.GetComponent().DOFade(0.2f, 0.75f)); + sq1.Append(t.GetComponent().DOFade(1f, 0.75f)); + //sq1.SetEase(Ease.InOutCubic); + sq.Join(sq1); + sq.SetEase(Ease.InOutCubic); + //sq.Append(t.GetComponent) } - sq.Join(t.parent.DOLocalMoveY(-47 * (diff.rank - 1) - 21.5f, 0.9f)); - var sq1 = DOTween.Sequence(); - sq1.Append(t.GetComponent().DOFade(0.2f, 0.45f)); - sq1.Append(t.GetComponent().DOFade(1f, 0.45f)); - //sq1.SetEase(Ease.InOutCubic); - sq.Join(sq1); - sq.SetEase(Ease.InOutCubic); - //sq.Append(t.GetComponent) + //t.parent.name = i.ToString(); } - //t.parent.name = i.ToString(); + allsq.Join(sq); + allsq.Play(); } + else + { + for (i = 0; i < list.Count; i++) + { + var data = list[i]; + var t = traceList.FirstOrDefault(x => x.userId == data.UserId).trace; + DisplayTrace(t.Find("p1"), data, mineData, true); + } + } + //for (i = 0; i < list.Count; i++) //{ // traceList[i].trace = traceList[i].trace.parent.parent.Find($"{i.ToString()}/T1"); //} - allsq.Join(sq); - allsq.Play(); + //return; //if (currentSecond % 2 == 1) //{