superFix
This commit is contained in:
@@ -54,12 +54,7 @@ namespace Ichni.RhythmGame
|
||||
targetTransformSubmodule.positionOffset += currentPosition;
|
||||
targetTransformSubmodule.positionDirtyMark = true;
|
||||
}
|
||||
else if ((positionX.isSwitchingReturnType ||
|
||||
positionY.isSwitchingReturnType ||
|
||||
positionZ.isSwitchingReturnType) &&
|
||||
(positionX.returnType is not FlexibleReturnType.MiddleExecuting &&
|
||||
positionY.returnType is not FlexibleReturnType.MiddleExecuting &&
|
||||
positionZ.returnType is not FlexibleReturnType.MiddleExecuting))
|
||||
else if (positionX.isSwitchingReturnType || positionY.isSwitchingReturnType || positionZ.isSwitchingReturnType)
|
||||
{
|
||||
animationReturnType = FlexibleReturnType.MiddleExecuting;
|
||||
Vector3 currentPosition = new Vector3(positionX.value, positionY.value, positionZ.value);
|
||||
|
||||
@@ -54,12 +54,7 @@ namespace Ichni.RhythmGame
|
||||
targetTransformSubmodule.scaleOffset += currentScale;
|
||||
targetTransformSubmodule.scaleDirtyMark = true;
|
||||
}
|
||||
else if ((scaleX.isSwitchingReturnType ||
|
||||
scaleY.isSwitchingReturnType ||
|
||||
scaleZ.isSwitchingReturnType) &&
|
||||
(scaleX.returnType is not FlexibleReturnType.MiddleExecuting &&
|
||||
scaleY.returnType is not FlexibleReturnType.MiddleExecuting &&
|
||||
scaleZ.returnType is not FlexibleReturnType.MiddleExecuting))
|
||||
else if (scaleX.isSwitchingReturnType || scaleY.isSwitchingReturnType || scaleZ.isSwitchingReturnType)
|
||||
{
|
||||
animationReturnType = FlexibleReturnType.MiddleExecuting;
|
||||
Vector3 currentScale = new Vector3(scaleX.value, scaleY.value, scaleZ.value);
|
||||
|
||||
@@ -53,12 +53,7 @@ namespace Ichni.RhythmGame
|
||||
targetTransformSubmodule.eulerAnglesOffset += currentEulerAngles;
|
||||
targetTransformSubmodule.eulerAnglesDirtyMark = true;
|
||||
}
|
||||
else if ((eulerAngleX.isSwitchingReturnType ||
|
||||
eulerAngleY.isSwitchingReturnType ||
|
||||
eulerAngleZ.isSwitchingReturnType) &&
|
||||
(eulerAngleX.returnType is not FlexibleReturnType.MiddleExecuting &&
|
||||
eulerAngleY.returnType is not FlexibleReturnType.MiddleExecuting &&
|
||||
eulerAngleZ.returnType is not FlexibleReturnType.MiddleExecuting))
|
||||
else if (eulerAngleX.isSwitchingReturnType || eulerAngleY.isSwitchingReturnType || eulerAngleZ.isSwitchingReturnType)
|
||||
{
|
||||
animationReturnType = FlexibleReturnType.MiddleExecuting;
|
||||
Vector3 currentEulerAngles = new Vector3(eulerAngleX.value, eulerAngleY.value, eulerAngleZ.value);
|
||||
|
||||
@@ -2,6 +2,7 @@ using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Ichni.RhythmGame.Beatmap;
|
||||
using UnityEngine;
|
||||
|
||||
|
||||
namespace Ichni.RhythmGame
|
||||
@@ -84,6 +85,15 @@ namespace Ichni.RhythmGame
|
||||
AnimatedFloat nowAnimatedFloat = GetAnimatedFloat(nowTime); //获取当前时间点对应的AnimatedFloat
|
||||
if (nowAnimatedFloat != null) //如果能获取到,表明当前时间点存在动画
|
||||
{
|
||||
if (nowTime + Time.deltaTime >= nowAnimatedFloat.endTime)
|
||||
{
|
||||
value = nowAnimatedFloat.endValue;
|
||||
returnType = FlexibleReturnType.After;
|
||||
if (lastReturnType != returnType) isSwitchingReturnType = true;
|
||||
lastReturnType = returnType;
|
||||
return;
|
||||
}
|
||||
|
||||
//获取songTime时间点时,基于动画曲线的AnimatedFloat比例点->(0,1)。
|
||||
float nowPercent = AnimationCurveEvaluator.Evaluate(nowAnimatedFloat.animationCurveType,
|
||||
(nowTime - nowAnimatedFloat.startTime) / nowAnimatedFloat.totalTime);
|
||||
|
||||
Reference in New Issue
Block a user