OvertakingLegend/Assets/Script/MapManger/MapManger_ CurveController.cs

100 lines
2.6 KiB
C#
Raw Permalink Normal View History

2025-03-24 03:08:22 +00:00
using AmazingAssets.CurvedWorld;
using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// <20><>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
public partial class MapManager
{
/// <summary>
/// <20><>¼<EFBFBD><EFBFBD><E4BBBB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
/// </summary>
private float recordCurverdTime;
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4BBBB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
/// </summary>
private float arriveCurverdTime = 8;
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сֵ
/// </summary>
private float horizontalMinValue=-1f;
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
/// </summary>
private float horizontalMaxValue =1f;
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сֵ
/// </summary>
private float verticalMinValue=0.5f;
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
/// </summary>
private float verticalMaxValue=-0.5f;
/// <summary>
/// <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ֵ
/// </summary>
private float currentHorizontalValue=0;
/// <summary>
/// <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ֵ
/// </summary>
private float currentVerticalValue=0;
/// <summary>
/// <20><><EFBFBD><EFBFBD>
/// </summary>
private Tween horizontalTween;
/// <summary>
/// <20><><EFBFBD><EFBFBD>
/// </summary>
private Tween verticalTween;
/// <summary>
/// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
public void InitCurvedWorld()
{
horizontalTween.Kill();
verticalTween.Kill();
currentHorizontalValue = 0;
currentVerticalValue = 0;
curvedWorld.bendHorizontalSize = 0;
curvedWorld.bendVerticalSize = 0;
recordCurverdTime = 0;
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
public void SetCurvedWorld()
{
if (Scenes.Instance.e_GameState == E_GameState.Gameing&&GuidanceManger.Instance.isChannelChangeguidanceOver)
{
recordCurverdTime += Time.deltaTime;
if (recordCurverdTime >= arriveCurverdTime)
{
horizontalTween = DOTween.To(() => currentHorizontalValue, x => currentHorizontalValue = x, Random.Range(horizontalMinValue, horizontalMaxValue), 3).OnUpdate(() =>
{
curvedWorld.bendHorizontalSize = currentHorizontalValue;
});
verticalTween= DOTween.To(() => currentVerticalValue, x => currentVerticalValue = x, Random.Range(verticalMinValue, verticalMaxValue), 3).OnUpdate(() =>
{
curvedWorld.bendVerticalSize = currentVerticalValue;
});
recordCurverdTime = 0;
}
}
}
}