3.0.0-preview.20

# [3.0.0-preview.20](https://github.com/mob-sakai/ParticleEffectForUGUI/compare/v3.0.0-preview.19...v3.0.0-preview.20) (2020-08-28)

### Features

* automatically update ([96a868b](96a868b60a))
pull/120/head
semantic-release-bot 2020-08-28 07:50:13 +00:00
parent 0d4a5875d1
commit ab27f0af6f
3 changed files with 48 additions and 7 deletions

View File

@ -1,3 +1,10 @@
# [3.0.0-preview.20](https://github.com/mob-sakai/ParticleEffectForUGUI/compare/v3.0.0-preview.19...v3.0.0-preview.20) (2020-08-28)
### Features
* automatically update ([96a868b](https://github.com/mob-sakai/ParticleEffectForUGUI/commit/96a868b60a3f36d761d58b5082aa9d37666e63a3))
# [3.0.0-preview.19](https://github.com/mob-sakai/ParticleEffectForUGUI/compare/v3.0.0-preview.18...v3.0.0-preview.19) (2020-08-28)

View File

@ -15,7 +15,7 @@ namespace Coffee.UIExtensions
[ExecuteInEditMode]
[RequireComponent(typeof(RectTransform))]
[RequireComponent(typeof(CanvasRenderer))]
public class UIParticle : MaskableGraphic
public class UIParticle : MaskableGraphic, ISerializationCallbackReceiver
{
[HideInInspector] [SerializeField] bool m_IsTrail = false;
@ -114,6 +114,13 @@ namespace Coffee.UIExtensions
{
GetComponentsInChildren(particles);
foreach (var ps in particles)
{
var tsa = ps.textureSheetAnimation;
if (tsa.mode == ParticleSystemAnimationMode.Sprites && tsa.uvChannelMask == (UVChannelFlags) 0)
tsa.uvChannelMask = UVChannelFlags.UV0;
}
particles.Exec(p => p.GetComponent<ParticleSystemRenderer>().enabled = !enabled);
particles.SortForRendering(transform);
@ -258,12 +265,11 @@ namespace Coffee.UIExtensions
private void InitializeIfNeeded()
{
if (0 < particles.Count) return;
if (!this || 0 < particles.Count) return;
if (m_IsTrail
|| transform.parent && transform.parent.GetComponentInParent<UIParticle>())
if (m_IsTrail)
{
gameObject.SetActive(false);
UnityEngine.Debug.LogWarningFormat("[UIParticle] Remove this UIParticle: {0}\nReason: UIParticle for trails is no longer needed.", name);
if (Application.isPlaying)
Destroy(gameObject);
else
@ -271,13 +277,41 @@ namespace Coffee.UIExtensions
return;
}
if (transform.parent && transform.parent.GetComponentInParent<UIParticle>())
{
UnityEngine.Debug.LogWarningFormat("[UIParticle] Remove this UIParticle: {0}\nReason: The parent UIParticle exists.", name);
if (Application.isPlaying)
Destroy(this);
else
DestroyImmediate(this);
return;
}
// refresh.
#if UNITY_EDITOR
if (!Application.isPlaying)
UnityEditor.EditorApplication.delayCall += RefreshParticles;
UnityEditor.EditorApplication.delayCall += () =>
{
if (this) RefreshParticles();
};
else
#endif
RefreshParticles();
}
#if UNITY_EDITOR
void ISerializationCallbackReceiver.OnBeforeSerialize()
{
InitializeIfNeeded();
}
void ISerializationCallbackReceiver.OnAfterDeserialize()
{
UnityEditor.EditorApplication.delayCall += () =>
{
if (this) InitializeIfNeeded();
};
}
#endif
}
}

View File

@ -2,7 +2,7 @@
"name": "com.coffee.ui-particle",
"displayName": "UI Particle",
"description": "This plugin provide a component to render particle effect for uGUI.\nThe particle rendering is maskable and sortable, without Camera, RenderTexture or Canvas.",
"version": "3.0.0-preview.19",
"version": "3.0.0-preview.20",
"unity": "2018.2",
"license": "MIT",
"repository": {