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; } } } }