This commit is contained in:
SoulliesOfficial
2026-03-19 14:14:28 -04:00
parent 45366d8f84
commit a1b831ecbf
1987 changed files with 8901800 additions and 740 deletions

View File

@@ -7,8 +7,23 @@ using UnityEngine;
namespace Ichni.RhythmGame
{
public partial class EnvironmentObject : SubstantialObject
public partial class EnvironmentObject : SubstantialObject, IHaveDirtyMarkSubmodule
{
#region [] Dirty Mark Submodule
public DirtyMarkSubmodule dirtyMarkSubmodule { get; set; }
public virtual void OnDirtyRefresh(Dictionary<string, bool> flags)
{
}
public override void SetDefaultSubmodules()
{
base.SetDefaultSubmodules();
dirtyMarkSubmodule = new DirtyMarkSubmodule(this);
}
#endregion
#region [] Flags
public bool isStatic;
#endregion

View File

@@ -58,6 +58,21 @@ namespace Ichni.RhythmGame
SetDefaultSubmodules();
}
if (this is IHaveTransformSubmodule transformSource && !GameManager.Instance.activeTransformSubmodules.Contains(transformSource))
{
GameManager.Instance.activeTransformSubmodules.Add(transformSource);
}
if (this is IHaveColorSubmodule colorSource && !GameManager.Instance.activeColorSubmodules.Contains(colorSource))
{
GameManager.Instance.activeColorSubmodules.Add(colorSource);
}
if (this is IHaveDirtyMarkSubmodule dirtySource && !GameManager.Instance.activeDirtyMarkSubmodules.Contains(dirtySource))
{
GameManager.Instance.activeDirtyMarkSubmodules.Add(dirtySource);
}
SetParent(parentElement);
}
@@ -146,7 +161,18 @@ namespace Ichni.RhythmGame
/// </summary>
public virtual void OnDelete()
{
if (this is IHaveTransformSubmodule transformSource)
{
GameManager.Instance.activeTransformSubmodules.Remove(transformSource);
}
if (this is IHaveColorSubmodule colorSource)
{
GameManager.Instance.activeColorSubmodules.Remove(colorSource);
}
if (this is IHaveDirtyMarkSubmodule dirtySource)
{
GameManager.Instance.activeDirtyMarkSubmodules.Remove(dirtySource);
}
}
}
#endregion

View File

@@ -82,7 +82,6 @@ namespace Ichni.RhythmGame
nowAttachedTrack = trackListFolder.trackList[trackSwitch.value];
nowAttachedTrackIndex = trackSwitch.value;
trackPositioner.spline = trackListFolder.trackList[trackSwitch.value].trackPathSubmodule.path;
trackPositioner.Rebuild();
}
trackPositioner.SetPercent(trackPercent.value);