using AmazingAssets.CurvedWorld;
using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
///
/// 地图管理器_弯道控制
///
public partial class MapManager
{
///
/// 记录变换弯道时间
///
private float recordCurverdTime;
///
/// 到达变换弯道时间
///
private float arriveCurverdTime = 8;
///
/// 横向最小值
///
private float horizontalMinValue=-1f;
///
/// 横向最大值
///
private float horizontalMaxValue =1f;
///
/// 纵向最小值
///
private float verticalMinValue=0.5f;
///
/// 纵向最大值
///
private float verticalMaxValue=-0.5f;
///
/// 当前横向值
///
private float currentHorizontalValue=0;
///
/// 当前纵向值
///
private float currentVerticalValue=0;
///
/// 横向
///
private Tween horizontalTween;
///
/// 纵向
///
private Tween verticalTween;
///
/// 初始化曲线
///
public void InitCurvedWorld()
{
horizontalTween.Kill();
verticalTween.Kill();
currentHorizontalValue = 0;
currentVerticalValue = 0;
curvedWorld.bendHorizontalSize = 0;
curvedWorld.bendVerticalSize = 0;
recordCurverdTime = 0;
}
///
/// 设置弯道
///
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;
}
}
}
}