submodule bug fix & Clip extend

移除submodule重复引用的问题,
Clip现在可以保存任意GameElement,且任意指定物体作为父物体加载
This commit is contained in:
SoulliesOfficial
2025-03-02 02:18:28 -05:00
parent 5d775ae687
commit 188cfba84a
39 changed files with 1276 additions and 193 deletions

View File

@@ -55,6 +55,8 @@ namespace Ichni.RhythmGame
this.baseColorDirtyMark = false;
this.emissionColorDirtyMark = false;
(attachedGameElement as IHaveColorSubmodule).colorSubmodule = this;
}
public ColorSubmodule(GameElement attachedGameElement, Color originalBaseColor, bool emissionEnabled,
@@ -71,6 +73,8 @@ namespace Ichni.RhythmGame
this.baseColorDirtyMark = false;
this.emissionColorDirtyMark = false;
(attachedGameElement as IHaveColorSubmodule).colorSubmodule = this;
}
public override void SaveBM()

View File

@@ -34,6 +34,8 @@ namespace Ichni.RhythmGame
effectCollection.Add("Bad", new List<EffectBase>());
effectCollection.Add("Miss", new List<EffectBase>());
}
(attachedGameElement as IHaveEffectSubmodule).effectSubmodule = this;
}
public EffectSubmodule(GameElement attachedGameElement, Dictionary<string, List<EffectBase_BM>> effectList_BM) : base(attachedGameElement)
@@ -49,6 +51,8 @@ namespace Ichni.RhythmGame
}
effectCollection.Add(effect.Key, effectList);
}
(attachedGameElement as IHaveEffectSubmodule).effectSubmodule = this;
}
}

View File

@@ -18,7 +18,8 @@ namespace Ichni.RhythmGame
isOverridingDuration = false;
startTime = -32767;//TODO: 换为-delay
endTime = 32767;//TODO: 换为songLength
(attachedGameElement as IHaveTimeDurationSubmodule).timeDurationSubmodule = this;
}
public TimeDurationSubmodule(GameElement attachedGameElement, bool isOverridingDuration, float startTime, float endTime) : base(attachedGameElement)
@@ -26,6 +27,8 @@ namespace Ichni.RhythmGame
this.isOverridingDuration = isOverridingDuration;
this.startTime = startTime;
this.endTime = endTime;
(attachedGameElement as IHaveTimeDurationSubmodule).timeDurationSubmodule = this;
}
public bool CheckTimeInDuration(float time, float offset = 0.2f)