@@ -45,9 +45,16 @@ namespace Ichni.RhythmGame
|
||||
positionY.UpdateFlexibleFloat(songTime);
|
||||
positionZ.UpdateFlexibleFloat(songTime);
|
||||
|
||||
if ((positionX.returnType is FlexibleReturnType.MiddleExecuting || positionX.isSwitchingReturnType) ||
|
||||
(positionY.returnType is FlexibleReturnType.MiddleExecuting || positionY.isSwitchingReturnType) ||
|
||||
(positionZ.returnType is FlexibleReturnType.MiddleExecuting || positionZ.isSwitchingReturnType))
|
||||
if (positionX.returnType is FlexibleReturnType.MiddleExecuting ||
|
||||
positionY.returnType is FlexibleReturnType.MiddleExecuting ||
|
||||
positionZ.returnType is FlexibleReturnType.MiddleExecuting)
|
||||
{
|
||||
animationReturnType = FlexibleReturnType.MiddleExecuting;
|
||||
Vector3 currentPosition = new Vector3(positionX.value, positionY.value, positionZ.value);
|
||||
targetTransformSubmodule.positionOffset += currentPosition;
|
||||
targetTransformSubmodule.positionDirtyMark = true;
|
||||
}
|
||||
else if (positionX.isSwitchingReturnType || positionY.isSwitchingReturnType || positionZ.isSwitchingReturnType)
|
||||
{
|
||||
animationReturnType = FlexibleReturnType.MiddleExecuting;
|
||||
Vector3 currentPosition = new Vector3(positionX.value, positionY.value, positionZ.value);
|
||||
|
||||
@@ -45,9 +45,16 @@ namespace Ichni.RhythmGame
|
||||
scaleY.UpdateFlexibleFloat(songTime);
|
||||
scaleZ.UpdateFlexibleFloat(songTime);
|
||||
|
||||
if ((scaleX.returnType is FlexibleReturnType.MiddleExecuting || scaleX.isSwitchingReturnType) ||
|
||||
(scaleY.returnType is FlexibleReturnType.MiddleExecuting || scaleY.isSwitchingReturnType) ||
|
||||
(scaleZ.returnType is FlexibleReturnType.MiddleExecuting || scaleZ.isSwitchingReturnType))
|
||||
if (scaleX.returnType is FlexibleReturnType.MiddleExecuting ||
|
||||
scaleY.returnType is FlexibleReturnType.MiddleExecuting ||
|
||||
scaleZ.returnType is FlexibleReturnType.MiddleExecuting)
|
||||
{
|
||||
animationReturnType = FlexibleReturnType.MiddleExecuting;
|
||||
Vector3 currentScale = new Vector3(scaleX.value, scaleY.value, scaleZ.value);
|
||||
targetTransformSubmodule.scaleOffset += currentScale;
|
||||
targetTransformSubmodule.scaleDirtyMark = true;
|
||||
}
|
||||
else if (scaleX.isSwitchingReturnType || scaleY.isSwitchingReturnType || scaleZ.isSwitchingReturnType)
|
||||
{
|
||||
animationReturnType = FlexibleReturnType.MiddleExecuting;
|
||||
Vector3 currentScale = new Vector3(scaleX.value, scaleY.value, scaleZ.value);
|
||||
|
||||
@@ -44,9 +44,16 @@ namespace Ichni.RhythmGame
|
||||
eulerAngleY.UpdateFlexibleFloat(songTime);
|
||||
eulerAngleZ.UpdateFlexibleFloat(songTime);
|
||||
|
||||
if (eulerAngleX.returnType is FlexibleReturnType.MiddleExecuting || eulerAngleX.isSwitchingReturnType ||
|
||||
(eulerAngleY.returnType is FlexibleReturnType.MiddleExecuting || eulerAngleY.isSwitchingReturnType) ||
|
||||
(eulerAngleZ.returnType is FlexibleReturnType.MiddleExecuting || eulerAngleZ.isSwitchingReturnType))
|
||||
if (eulerAngleX.returnType is FlexibleReturnType.MiddleExecuting ||
|
||||
eulerAngleY.returnType is FlexibleReturnType.MiddleExecuting ||
|
||||
eulerAngleZ.returnType is FlexibleReturnType.MiddleExecuting)
|
||||
{
|
||||
animationReturnType = FlexibleReturnType.MiddleExecuting;
|
||||
Vector3 currentEulerAngles = new Vector3(eulerAngleX.value, eulerAngleY.value, eulerAngleZ.value);
|
||||
targetTransformSubmodule.eulerAnglesOffset += currentEulerAngles;
|
||||
targetTransformSubmodule.eulerAnglesDirtyMark = true;
|
||||
}
|
||||
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);
|
||||
|
||||
8
Assets/StreamingAssets/AutoSave/LWS2.meta
Normal file
8
Assets/StreamingAssets/AutoSave/LWS2.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b06ede4b8c5751e438191b94eb2a6d6a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
100358
Assets/StreamingAssets/AutoSave/LWS2/AutoSave_0.json
Normal file
100358
Assets/StreamingAssets/AutoSave/LWS2/AutoSave_0.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c1ffb98d8628c58409b40ff695a58f0f
|
||||
guid: 06b59e3e279fe5d41bba601c3d5772e8
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,2 +1,2 @@
|
||||
?¾=çšéUdË<64>é5Ú¡dKÔQ¿ùP:¯ô—lçÈ–5'yˆjW[®-
|
||||
¸<EFBFBD>Ö¥¤Ôxmù½Ó’mÛÑ8ÉÛ¹¡j3Àˆ+_r{XRÈÉl¿H5S~€âP8–ÈÊ’ÉÎ
|
||||
`ב1c¶iֺ+<2B>^zןר0״ZTKֹDv<E2808F>JmS¥כ×7l’Q]V•Gl¨›ֶu°לvֿ@ז4X[עלS<>DZאk¨l<C2A8>7r<37>:ִµױ¢;<3B>)X~+8ֵֿeס$ס¬¡LB•קlf<6C>j‰Kyֳ<79>W˜ח?’<>Ft!G×^‘x9?½ִ£µ{¶ץ<C2B6>B-}{E׳וl=חva4l~¡®’¦7׃g³ררD«m<6D>׃3א<33>ק·¡„‰×£װ~
|
||||
¯–ְ@<40>‡<EFBFBD><E280A1>ֵfIד@›<0E>Gזִ‰<C2AD>ֻ<EFBFBD>r־/8
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,8 +3,8 @@
|
||||
"__type" : "Ichni.RhythmGame.Beatmap.SongInformation_BM,Assembly-CSharp",
|
||||
"value" : {
|
||||
"songName" : "LWS2 - SHENG.wav",
|
||||
"bpm" : 85,
|
||||
"delay" : 2,
|
||||
"bpm" : 170,
|
||||
"delay" : 1,
|
||||
"offset" : 0,
|
||||
"attachedElementGuid" : {
|
||||
"value" : "00000000-0000-0000-0000-000000000000"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,7 @@
|
||||
"__type" : "Ichni.RhythmGame.Beatmap.SongInformation_BM,Assembly-CSharp",
|
||||
"value" : {
|
||||
"songName" : "Space Rain.wav",
|
||||
"bpm" : 180,
|
||||
"bpm" : 181.818,
|
||||
"delay" : 0,
|
||||
"offset" : 0,
|
||||
"attachedElementGuid" : {
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user