fix: the changes made to the material used by the ParticleSystem are not immediately reflected

close #280
This commit is contained in:
mob-sakai
2023-12-23 19:23:44 +09:00
parent 6126af9f37
commit 3184ba94ae
2 changed files with 22 additions and 3 deletions

View File

@@ -7,13 +7,13 @@ namespace Coffee.UIParticleExtensions
{
private static readonly List<MatEntry> s_Entries = new List<MatEntry>();
public static Material Add(Material baseMat, Texture texture, int id)
public static Material Add(Material baseMat, Texture texture, int id, int props)
{
MatEntry e;
for (var i = 0; i < s_Entries.Count; i++)
{
e = s_Entries[i];
if (e.baseMat != baseMat || e.texture != texture || e.id != id) continue;
if (e.baseMat != baseMat || e.texture != texture || e.id != id || e.props != props) continue;
++e.count;
return e.customMat;
}
@@ -24,6 +24,7 @@ namespace Coffee.UIParticleExtensions
baseMat = baseMat,
texture = texture,
id = id,
props = props,
customMat = new Material(baseMat)
{
name = $"{baseMat.name}_{id}",
@@ -64,6 +65,7 @@ namespace Coffee.UIParticleExtensions
public int count;
public Material customMat;
public int id;
public int props;
public Texture texture;
}
}