Skip to content

Commit 508484a

Browse files
committed
add a remove method to the manager
1 parent 6d1f3f5 commit 508484a

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

Source/DynamicProperties/CompiledProps.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,13 @@ internal bool Add(Props props)
3232
return added;
3333
}
3434

35+
internal bool Remove(Props props)
36+
{
37+
var removed = cascade.Remove(props);
38+
if (removed) cacheEntry = null;
39+
return removed;
40+
}
41+
3542
private MpbCacheEntry? cacheEntry = null;
3643

3744
// Should this be a hashset?

Source/DynamicProperties/MaterialPropertyManager.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ public sealed class MaterialPropertyManager : ScenarioModule
1818

1919
#region Lifecycle
2020

21+
private MaterialPropertyManager()
22+
{
23+
}
24+
2125
public override void OnAwake()
2226
{
2327
name = nameof(MaterialPropertyManager);
@@ -34,13 +38,19 @@ public void OnDestroy()
3438

3539
#endregion
3640

37-
public void Set(Renderer renderer, Props props)
41+
public bool Set(Renderer renderer, Props props)
3842
{
3943
if (!compiledProperties.TryGetValue(renderer, out var compiledProps)) {
4044
compiledProperties[renderer] = compiledProps = new CompiledProps();
4145
}
4246

43-
compiledProps.Add(props);
47+
return compiledProps.Add(props);
48+
}
49+
50+
public bool Remove(Renderer renderer, Props props)
51+
{
52+
if (!compiledProperties.TryGetValue(renderer, out var compiledProps)) return false;
53+
return compiledProps.Remove(props);
4454
}
4555

4656
private static readonly List<Renderer> _deadRenderers = [];

0 commit comments

Comments
 (0)