fix build error and something

pull/225/head
mob-sakai 2022-06-17 13:35:19 +09:00
parent 97ea668294
commit 8e1b4eb086
3 changed files with 22 additions and 11 deletions

View File

@ -252,7 +252,7 @@ namespace Coffee.UIExtensions
RefreshParticles(gameObject); RefreshParticles(gameObject);
} }
public void RefreshParticles(GameObject root) private void RefreshParticles(GameObject root)
{ {
if (!root) return; if (!root) return;
root.GetComponentsInChildren(particles); root.GetComponentsInChildren(particles);
@ -304,6 +304,8 @@ namespace Coffee.UIExtensions
internal void UpdateRenderers() internal void UpdateRenderers()
{ {
if (!isActiveAndEnabled) return;
var bakeCamera = GetBakeCamera(); var bakeCamera = GetBakeCamera();
for (var i = 0; i < m_Renderers.Count; i++) for (var i = 0; i < m_Renderers.Count; i++)
{ {
@ -328,7 +330,15 @@ namespace Coffee.UIExtensions
_tracker.Add(this, rectTransform, DrivenTransformProperties.Scale); _tracker.Add(this, rectTransform, DrivenTransformProperties.Scale);
UIParticleUpdater.Register(this); UIParticleUpdater.Register(this);
RegisterDirtyMaterialCallback(UpdateRendererMaterial); RegisterDirtyMaterialCallback(UpdateRendererMaterial);
if (0 < particles.Count)
{
RefreshParticles(particles); RefreshParticles(particles);
}
else
{
RefreshParticles();
}
base.OnEnable(); base.OnEnable();
} }

View File

@ -118,12 +118,13 @@ namespace Coffee.UIExtensions
_index = index; _index = index;
} }
//_emitter = null; //_emitter = null;
if (this && isActiveAndEnabled)
{
material = null; material = null;
enabled = false;
workerMesh.Clear(); workerMesh.Clear();
canvasRenderer.SetMesh(workerMesh); canvasRenderer.SetMesh(workerMesh);
enabled = false;
}
} }
public void Set(UIParticle parent, ParticleSystem particleSystem, bool isTrail) public void Set(UIParticle parent, ParticleSystem particleSystem, bool isTrail)
@ -171,7 +172,7 @@ namespace Coffee.UIExtensions
{ {
// No particle to render: Clear mesh. // No particle to render: Clear mesh.
if ( if (
!enabled || !_particleSystem || !_parent || !canvasRenderer || !canvas || !bakeCamera !isActiveAndEnabled || !_particleSystem || !_parent || !canvasRenderer || !canvas || !bakeCamera
|| _parent.meshSharing == UIParticle.MeshSharing.Reprica || _parent.meshSharing == UIParticle.MeshSharing.Reprica
|| !transform.lossyScale.GetScaled(_parent.scale3D).IsVisible() // Scale is not visible. || !transform.lossyScale.GetScaled(_parent.scale3D).IsVisible() // Scale is not visible.
|| (!_particleSystem.IsAlive() && !_particleSystem.isPlaying) // No particle. || (!_particleSystem.IsAlive() && !_particleSystem.isPlaying) // No particle.