@@ -45,9 +45,16 @@ namespace Ichni.RhythmGame
|
|||||||
positionY.UpdateFlexibleFloat(songTime);
|
positionY.UpdateFlexibleFloat(songTime);
|
||||||
positionZ.UpdateFlexibleFloat(songTime);
|
positionZ.UpdateFlexibleFloat(songTime);
|
||||||
|
|
||||||
if ((positionX.returnType is FlexibleReturnType.MiddleExecuting || positionX.isSwitchingReturnType) ||
|
if (positionX.returnType is FlexibleReturnType.MiddleExecuting ||
|
||||||
(positionY.returnType is FlexibleReturnType.MiddleExecuting || positionY.isSwitchingReturnType) ||
|
positionY.returnType is FlexibleReturnType.MiddleExecuting ||
|
||||||
(positionZ.returnType is FlexibleReturnType.MiddleExecuting || positionZ.isSwitchingReturnType))
|
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;
|
animationReturnType = FlexibleReturnType.MiddleExecuting;
|
||||||
Vector3 currentPosition = new Vector3(positionX.value, positionY.value, positionZ.value);
|
Vector3 currentPosition = new Vector3(positionX.value, positionY.value, positionZ.value);
|
||||||
|
|||||||
@@ -45,9 +45,16 @@ namespace Ichni.RhythmGame
|
|||||||
scaleY.UpdateFlexibleFloat(songTime);
|
scaleY.UpdateFlexibleFloat(songTime);
|
||||||
scaleZ.UpdateFlexibleFloat(songTime);
|
scaleZ.UpdateFlexibleFloat(songTime);
|
||||||
|
|
||||||
if ((scaleX.returnType is FlexibleReturnType.MiddleExecuting || scaleX.isSwitchingReturnType) ||
|
if (scaleX.returnType is FlexibleReturnType.MiddleExecuting ||
|
||||||
(scaleY.returnType is FlexibleReturnType.MiddleExecuting || scaleY.isSwitchingReturnType) ||
|
scaleY.returnType is FlexibleReturnType.MiddleExecuting ||
|
||||||
(scaleZ.returnType is FlexibleReturnType.MiddleExecuting || scaleZ.isSwitchingReturnType))
|
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;
|
animationReturnType = FlexibleReturnType.MiddleExecuting;
|
||||||
Vector3 currentScale = new Vector3(scaleX.value, scaleY.value, scaleZ.value);
|
Vector3 currentScale = new Vector3(scaleX.value, scaleY.value, scaleZ.value);
|
||||||
|
|||||||
@@ -44,9 +44,16 @@ namespace Ichni.RhythmGame
|
|||||||
eulerAngleY.UpdateFlexibleFloat(songTime);
|
eulerAngleY.UpdateFlexibleFloat(songTime);
|
||||||
eulerAngleZ.UpdateFlexibleFloat(songTime);
|
eulerAngleZ.UpdateFlexibleFloat(songTime);
|
||||||
|
|
||||||
if (eulerAngleX.returnType is FlexibleReturnType.MiddleExecuting || eulerAngleX.isSwitchingReturnType ||
|
if (eulerAngleX.returnType is FlexibleReturnType.MiddleExecuting ||
|
||||||
(eulerAngleY.returnType is FlexibleReturnType.MiddleExecuting || eulerAngleY.isSwitchingReturnType) ||
|
eulerAngleY.returnType is FlexibleReturnType.MiddleExecuting ||
|
||||||
(eulerAngleZ.returnType is FlexibleReturnType.MiddleExecuting || eulerAngleZ.isSwitchingReturnType))
|
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;
|
animationReturnType = FlexibleReturnType.MiddleExecuting;
|
||||||
Vector3 currentEulerAngles = new Vector3(eulerAngleX.value, eulerAngleY.value, eulerAngleZ.value);
|
Vector3 currentEulerAngles = new Vector3(eulerAngleX.value, eulerAngleY.value, eulerAngleZ.value);
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ using System;
|
|||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Ichni.RhythmGame.Beatmap;
|
using Ichni.RhythmGame.Beatmap;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
|
||||||
namespace Ichni.RhythmGame
|
namespace Ichni.RhythmGame
|
||||||
@@ -84,6 +85,15 @@ namespace Ichni.RhythmGame
|
|||||||
AnimatedFloat nowAnimatedFloat = GetAnimatedFloat(nowTime); //获取当前时间点对应的AnimatedFloat
|
AnimatedFloat nowAnimatedFloat = GetAnimatedFloat(nowTime); //获取当前时间点对应的AnimatedFloat
|
||||||
if (nowAnimatedFloat != null) //如果能获取到,表明当前时间点存在动画
|
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)。
|
//获取songTime时间点时,基于动画曲线的AnimatedFloat比例点->(0,1)。
|
||||||
float nowPercent = AnimationCurveEvaluator.Evaluate(nowAnimatedFloat.animationCurveType,
|
float nowPercent = AnimationCurveEvaluator.Evaluate(nowAnimatedFloat.animationCurveType,
|
||||||
(nowTime - nowAnimatedFloat.startTime) / nowAnimatedFloat.totalTime);
|
(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
|
fileFormatVersion: 2
|
||||||
guid: c1ffb98d8628c58409b40ff695a58f0f
|
guid: 06b59e3e279fe5d41bba601c3d5772e8
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
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[®-
|
`ב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>ק·¡„‰×£װ~
|
||||||
¸<EFBFBD>Ö¥¤Ôxmù½Ó’mÛÑ8ÉÛ¹¡j3Àˆ+_r{XRÈÉl¿H5S~€âP8–ÈÊ’ÉÎ
|
¯–ְ@<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",
|
"__type" : "Ichni.RhythmGame.Beatmap.SongInformation_BM,Assembly-CSharp",
|
||||||
"value" : {
|
"value" : {
|
||||||
"songName" : "LWS2 - SHENG.wav",
|
"songName" : "LWS2 - SHENG.wav",
|
||||||
"bpm" : 85,
|
"bpm" : 170,
|
||||||
"delay" : 2,
|
"delay" : 1,
|
||||||
"offset" : 0,
|
"offset" : 0,
|
||||||
"attachedElementGuid" : {
|
"attachedElementGuid" : {
|
||||||
"value" : "00000000-0000-0000-0000-000000000000"
|
"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",
|
"__type" : "Ichni.RhythmGame.Beatmap.SongInformation_BM,Assembly-CSharp",
|
||||||
"value" : {
|
"value" : {
|
||||||
"songName" : "Space Rain.wav",
|
"songName" : "Space Rain.wav",
|
||||||
"bpm" : 180,
|
"bpm" : 181.818,
|
||||||
"delay" : 0,
|
"delay" : 0,
|
||||||
"offset" : 0,
|
"offset" : 0,
|
||||||
"attachedElementGuid" : {
|
"attachedElementGuid" : {
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user