基础内容11 - SAVE LOAD EXPORT

This commit is contained in:
SoulliesOfficial
2025-02-08 23:09:50 -05:00
parent 7ab738cb68
commit e3a8450a27
61 changed files with 1229 additions and 237 deletions

View File

@@ -21,12 +21,18 @@ namespace Ichni.RhythmGame
/// <summary>
/// 当物体被删除时执行的方法
/// </summary>
public void OnDelete();
public void OnDelete()
{
throw new NotImplementedException();
}
/// <summary>
/// 删除物体,包括所有子物体
/// </summary>
public void Delete();
public void Delete()
{
throw new NotImplementedException();
}
}
// public virtual void SetTimeDuration()
@@ -41,70 +47,16 @@ namespace Ichni.RhythmGame
// childElementList.Select(x => x.timeDurationSubmodule).ToList());
// }
//
// /// <summary>
// /// 设置物体Transform的监听顺序为Scale -> EulerAngles -> Position
// /// 如果有一些特殊的物体例如CameraElementFolder需要自定义监听可以重写这个方法
// /// </summary>
// public virtual void SetTransformObserver()
// {
// Observable.EveryUpdate().Subscribe(_ =>
// {
// if (transformSubmodule == null)
// {
// return;
// }
//
// if (transformSubmodule.scaleDirtyMark)
// {
// Vector3 offset = Vector3.zero;
// foreach (Vector3 scaleOffset in transformSubmodule.scaleOffset)
// {
// offset += scaleOffset;
// }
//
// transformSubmodule.currentScale = transformSubmodule.originalScale + offset;
// transform.localScale = transformSubmodule.currentScale;
// transformSubmodule.scaleDirtyMark = false;
// }
//
// if (transformSubmodule.eulerAnglesDirtyMark)
// {
// Vector3 offset = Vector3.zero;
// foreach (Vector3 eulerOffset in transformSubmodule.eulerAnglesOffset)
// {
// offset += eulerOffset;
// }
//
// transformSubmodule.currentEulerAngles = transformSubmodule.originalEulerAngles + offset;
// transform.localEulerAngles = transformSubmodule.currentEulerAngles;
// transformSubmodule.eulerAnglesDirtyMark = false;
// }
//
// if (transformSubmodule.positionDirtyMark)
// {
// Vector3 offset = Vector3.zero;
// foreach (Vector3 posOffset in transformSubmodule.positionOffset)
// {
// offset += posOffset;
// }
//
// transformSubmodule.currentPosition = transformSubmodule.originalPosition + offset;
// transform.localPosition = transformSubmodule.currentPosition;
// transformSubmodule.positionDirtyMark = false;
// }
//
// transformSubmodule.scaleOffset.Clear();
// transformSubmodule.eulerAnglesOffset.Clear();
// transformSubmodule.positionOffset.Clear();
// }).AddTo(gameObject);
// }
namespace Beatmap
{
public abstract class BaseElement_BM
{
/// <summary>
/// 从存档类中生成游戏物体
/// </summary>
public abstract void ExecuteBM();
}
}
}