本地记录重新上传,一些界面bug修复
This commit is contained in:
1 parent
470d52b1bc
commit
f1eeb11543
11 files changed
+6363
-3355
No files matched your search
@@ -329,8 +329,8 @@ public class CyclingController : DeviceServiceMonoBase
|
||||
{
|
||||
item.IsShowInfo = false;
|
||||
}
|
||||
var frontPlayer = others.Where(c => c.TotalDistance - playerController.TotalDistance < 0.5 && c.TotalDistance - playerController.TotalDistance >= 0 && !(c is PlayerController)).OrderBy(c=>c.TotalDistance).FirstOrDefault();
|
||||
var bakePlayer = others.Where(c => c.TotalDistance - playerController.TotalDistance >-0.5 && c.TotalDistance - playerController.TotalDistance < 0 && !(c is PlayerController)).OrderByDescending(c=>c.TotalDistance).FirstOrDefault();
|
||||
var frontPlayer = others.Where(c => c.TotalDistance - playerController.TotalDistance < 0.25 && c.TotalDistance - playerController.TotalDistance >= 0 && !(c is PlayerController)).OrderBy(c=>c.TotalDistance).FirstOrDefault();
|
||||
var bakePlayer = others.Where(c => c.TotalDistance - playerController.TotalDistance >-0.25 && c.TotalDistance - playerController.TotalDistance < 0 && !(c is PlayerController)).OrderByDescending(c=>c.TotalDistance).FirstOrDefault();
|
||||
if(frontPlayer != null)
|
||||
frontPlayer.IsShowInfo = true;
|
||||
if (bakePlayer != null)
|
||||
|
||||
@@ -10,36 +10,61 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
public class NumberDotween:MonoBehaviour
|
||||
{
|
||||
private Sequence mScoreSequence;
|
||||
private Sequence mProgressSequence;
|
||||
private Text text;
|
||||
private float mOldScore = 0;
|
||||
|
||||
private float mOldScoreNew = 0;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
//函数内初始化
|
||||
mScoreSequence = DOTween.Sequence();
|
||||
mProgressSequence = DOTween.Sequence();
|
||||
//函数内设置属性
|
||||
mScoreSequence.SetAutoKill(false);
|
||||
mProgressSequence.SetAutoKill(false);
|
||||
text = transform.GetComponent<Text>();
|
||||
}
|
||||
private double temp = 0;
|
||||
private int index = -1;
|
||||
private int indexNew = -1;
|
||||
public void AnimateNum(float newScore,double totalDistance,int currentIndex, int digit, string format,Image process)
|
||||
{
|
||||
if (currentIndex != index)
|
||||
if (currentIndex != indexNew)
|
||||
{
|
||||
text.text = string.Format(format, totalDistance);
|
||||
index = currentIndex;
|
||||
indexNew = currentIndex;
|
||||
process.fillAmount = 1;
|
||||
StartCoroutine(CompleteFill(process));
|
||||
}
|
||||
else
|
||||
{
|
||||
mProgressSequence.Append(DOTween.To(delegate (float value)
|
||||
{
|
||||
process.fillAmount = (float)(value / totalDistance);
|
||||
}, mOldScoreNew, newScore, 1f));
|
||||
//将更新后的值记录下来, 用于下一次滚动动画
|
||||
mOldScoreNew = newScore;
|
||||
}
|
||||
}
|
||||
|
||||
public void AnimateNumText(float newScore, double totalDistance, int currentIndex, int digit, string format, Image process)
|
||||
{
|
||||
if (currentIndex != index)
|
||||
{
|
||||
text.text = string.Format(format, totalDistance);
|
||||
index = currentIndex;
|
||||
mOldScore = (float)totalDistance;
|
||||
}
|
||||
else
|
||||
{
|
||||
mScoreSequence.Append(DOTween.To(delegate (float value)
|
||||
{
|
||||
temp = Math.Round(value, digit);
|
||||
process.fillAmount = (float)(value / totalDistance);
|
||||
//向Text组件赋值
|
||||
text.text = string.Format(format, temp);
|
||||
//if (value != newScore)
|
||||
{
|
||||
temp = Math.Round(value, digit);
|
||||
//向Text组件赋值
|
||||
text.text = string.Format(format, temp);
|
||||
}
|
||||
}, mOldScore, newScore, 1f));
|
||||
//将更新后的值记录下来, 用于下一次滚动动画
|
||||
mOldScore = newScore;
|
||||
@@ -48,7 +73,7 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
IEnumerator CompleteFill(Image process)
|
||||
{
|
||||
yield return new WaitForSeconds(0.3f);
|
||||
mOldScore = 0;
|
||||
mOldScoreNew = 0;
|
||||
process.fillAmount = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -168,10 +168,10 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
{
|
||||
if (infoPanel == null)
|
||||
return;
|
||||
_directionsGO?.Destroy();
|
||||
infoPanel.transform.GetComponent<CanvasGroup>().DOFade(0, 1).onComplete += () => {
|
||||
IsShowInfo = false;
|
||||
infoPanel?.Destroy();
|
||||
_directionsGO?.Destroy();
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -157,10 +157,10 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
{
|
||||
if (infoPanel == null)
|
||||
return;
|
||||
_directionsGO?.Destroy();
|
||||
infoPanel.transform.GetComponent<CanvasGroup>().DOFade(0, 1).onComplete += () => {
|
||||
IsShowInfo = false;
|
||||
infoPanel?.Destroy();
|
||||
_directionsGO?.Destroy();
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -403,42 +403,31 @@ namespace Assets.Scenes.Ride.Scripts
|
||||
nextSlopeDistanceText.text = $"{Math.Round(playerController.NextSlopeTotalDistance, 0)}M";
|
||||
currentSlopeText.text = Math.Round(playerController.CurrentSlope, 1).ToString() + "%";
|
||||
currentSlopeDistanceText.GetComponent<NumberDotween>().AnimateNum((float)playerController.CurrentSlopeDistance, Math.Round(playerController.CurrentDistance, 0), playerController.CurrentIndex, 0, "{0}M", currentSlopeProcess);
|
||||
currentSlopeDistanceText.GetComponent<NumberDotween>().AnimateNumText((float)playerController.CurrentDistance - (float)playerController.CurrentSlopeDistance, Math.Round(playerController.CurrentDistance, 0), playerController.CurrentIndex, 0, "{0}M", currentSlopeProcess);
|
||||
totalClimb.text = Math.Round(playerController.TotalClimb, 0).ToString();
|
||||
//小地图进度
|
||||
var process = (float)(playerController.TotalDistance / routeInstance.Distance);
|
||||
miniMapProcess.fillAmount = process;
|
||||
miniMapProcessText.text = $"{process*100:f0}%";
|
||||
//动态改变坡度图片
|
||||
ChangeSlopeImage();
|
||||
ChangeSlopeImage(nextSlopeImage, playerController.NextSlope);
|
||||
ChangeSlopeImage(currentSlopeImage, playerController.CurrentSlope);
|
||||
}
|
||||
}
|
||||
|
||||
private void ChangeSlopeImage()
|
||||
private void ChangeSlopeImage(Image image,double slope)
|
||||
{
|
||||
if (playerController.CurrentSlope >= 1)
|
||||
if (slope >= 1)
|
||||
{
|
||||
currentSlopeImage.sprite = uphill1;
|
||||
image.sprite = uphill1;
|
||||
}
|
||||
else if (playerController.CurrentSlope > -1 || playerController.CurrentSlope < 1)
|
||||
else if (slope > -1 && slope < 1)
|
||||
{
|
||||
currentSlopeImage.sprite = straight;
|
||||
image.sprite = straight;
|
||||
}
|
||||
else
|
||||
{
|
||||
currentSlopeImage.sprite = downhill1;
|
||||
}
|
||||
//下一个坡度
|
||||
if (playerController.NextSlope >= 1)
|
||||
{
|
||||
nextSlopeImage.sprite = uphill1Small;
|
||||
}
|
||||
else if (playerController.NextSlope > -1 || playerController.NextSlope < 1)
|
||||
{
|
||||
nextSlopeImage.sprite = straightSmall;
|
||||
}
|
||||
else
|
||||
{
|
||||
nextSlopeImage.sprite = downhill1Small;
|
||||
image.sprite = downhill1;
|
||||
}
|
||||
}
|
||||
//重置游戏
|
||||
|
||||
Reference in new issue
Block a user