基础内容-9

为次级模块增加存档类,仍在思考框架中
This commit is contained in:
SoulliesOfficial
2025-02-06 23:01:44 -05:00
parent bc1c5d65ef
commit 4cd90eaede
14 changed files with 436 additions and 19 deletions

View File

@@ -28,10 +28,7 @@ namespace Ichni.RhythmGame
public bool scaleDirtyMark;
public bool eulerAnglesOffsetLock;
public UnityAction OnPositionChanged;
public UnityAction OnEulerAnglesChanged;
public UnityAction OnScaleChanged;
public TransformSubmodule(BaseElement attachedElement) : base(attachedElement)
{
@@ -79,5 +76,45 @@ namespace Ichni.RhythmGame
attachedElement.SetTransformObserver();
}
public override void SaveBM()
{
matchedBM = new Beatmap.TransformSubmodule_BM(attachedElement, originalPosition, originalEulerAngles, originalScale);
}
}
namespace Beatmap
{
public class TransformSubmodule_BM : Submodule_BM
{
public Vector3 originalPosition;
public Vector3 originalEulerAngles;
public Vector3 originalScale;
public TransformSubmodule_BM()
{
}
public TransformSubmodule_BM(BaseElement attachedElement, Vector3 originalPosition,
Vector3 originalEulerAngles, Vector3 originalScale) :
base(attachedElement)
{
this.originalPosition = originalPosition;
this.originalEulerAngles = originalEulerAngles;
this.originalScale = originalScale;
}
public override void ExecuteBM()
{
attachedElement = GetElement(attachedElementGuid);
attachedElement.transformSubmodule = new TransformSubmodule(attachedElement, originalPosition, originalEulerAngles, originalScale);
}
public override void DuplicateBM(BaseElement attached)
{
attached.transformSubmodule = new TransformSubmodule(attached, originalPosition, originalEulerAngles, originalScale);
}
}
}
}