Skip to content

Commit 5acc03c

Browse files
committed
use propertyblock instead of modifying material
1 parent 5b33342 commit 5acc03c

14 files changed

+344
-655
lines changed

SaberFactory/Helpers/MaterialHelpers.cs

+33
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,39 @@ public static void SetMainColor(this Material material, Color color)
6868
}
6969
}
7070

71+
public static bool IsMaterialColorable(Material material)
72+
{
73+
if (material is null || !material.HasProperty(MaterialProperties.MainColor))
74+
{
75+
return false;
76+
}
77+
78+
if (material.TryGetFloat(MaterialProperties.CustomColors, out var val))
79+
{
80+
if (val > 0)
81+
{
82+
return true;
83+
}
84+
}
85+
else if (material.TryGetFloat(MaterialProperties.Glow, out val) && val > 0)
86+
{
87+
return true;
88+
}
89+
else if (material.TryGetFloat(MaterialProperties.Bloom, out val) && val > 0)
90+
{
91+
return true;
92+
}
93+
94+
return false;
95+
}
96+
97+
public static MaterialPropertyBlock ColorBlock(Color color)
98+
{
99+
var block = new MaterialPropertyBlock();
100+
block.SetColor(MaterialProperties.MainColor, color);
101+
return block;
102+
}
103+
71104
public static bool HasCustomColorsEnabled(this Material material)
72105
{
73106
return material.TryGetFloat(MaterialProperties.CustomColors, out var customColors) && customColors > 0.5f;

SaberFactory/Installers/PluginAppInstaller.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public override void InstallBindings()
4242
if (Environment.GetCommandLineArgs().Any(x => x.ToLower() == "fpfc"))
4343
{
4444
rtOptions.FPFC = true;
45-
AltTrail.CapFps = true;
45+
SFTrail.CapFps = true;
4646
}
4747

4848
Container.BindInstance(rtOptions).AsSingle();

SaberFactory/Instances/SaberInstance.cs

+3-4
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
using SaberFactory.Instances.Trail;
1111
using SaberFactory.Models;
1212
using SiraUtil.Logging;
13-
using SiraUtil.Tools;
1413
using UnityEngine;
1514
using Zenject;
1615

@@ -126,14 +125,14 @@ public void CreateTrail(bool editor, SaberTrail backupTrail = null)
126125
{
127126
if (backupTrail is { })
128127
{
129-
TrailHandler = new TrailHandlerEx(GameObject, backupTrail);
128+
TrailHandler = new MainTrailHandler(GameObject, backupTrail);
130129
TrailHandler.CreateTrail(_trailConfig, editor);
131130
}
132131

133132
return;
134133
}
135134

136-
TrailHandler = new TrailHandlerEx(GameObject);
135+
TrailHandler = new MainTrailHandler(GameObject);
137136
TrailHandler.SetTrailData(trailData);
138137
TrailHandler.CreateTrail(_trailConfig, editor);
139138

@@ -143,7 +142,7 @@ public void CreateTrail(bool editor, SaberTrail backupTrail = null)
143142
foreach (var customTrail in secondaryTrails)
144143
{
145144
var handler = new CustomSaberTrailHandler(GameObject, customTrail);
146-
handler.CreateTrail(editor);
145+
handler.CreateTrail(_trailConfig, editor);
147146
_secondaryTrails.Add(handler);
148147
}
149148
}

SaberFactory/Instances/Trail/AltTrail.cs

-305
This file was deleted.

0 commit comments

Comments
 (0)