Skip to content

Commit

Permalink
3.0.0-preview.31
Browse files Browse the repository at this point in the history
# [3.0.0-preview.31](mob-sakai/ParticleEffectForUGUI@v3.0.0-preview.30...v3.0.0-preview.31) (2020-09-02)

### Bug Fixes

* combine Instances error ([878f812](mob-sakai/ParticleEffectForUGUI@878f812)), closes [#91](mob-sakai/ParticleEffectForUGUI#91)
* in rare cases, the particle size is incorrect with camera-space mode ([90593ac](mob-sakai/ParticleEffectForUGUI@90593ac)), closes [#93](mob-sakai/ParticleEffectForUGUI#93)
* trails material uses sprite texture ([9e65ee7](mob-sakai/ParticleEffectForUGUI@9e65ee7)), closes [#92](mob-sakai/ParticleEffectForUGUI#92)

### Features

* refresh children ParticleSystem with a gameObjects as root ([8bae1d0](mob-sakai/ParticleEffectForUGUI@8bae1d0))
  • Loading branch information
LionelPerrault committed Sep 2, 2020
1 parent d77c502 commit 304121d
Show file tree
Hide file tree
Showing 7 changed files with 34 additions and 26 deletions.
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
# [3.0.0-preview.31](https://github.com/mob-sakai/ParticleEffectForUGUI/compare/v3.0.0-preview.30...v3.0.0-preview.31) (2020-09-02)


### Bug Fixes

* combine Instances error ([878f812](https://github.com/mob-sakai/ParticleEffectForUGUI/commit/878f81202ac29a8a20f174efa916da64eef99e8a)), closes [#91](https://github.com/mob-sakai/ParticleEffectForUGUI/issues/91)
* in rare cases, the particle size is incorrect with camera-space mode ([90593ac](https://github.com/mob-sakai/ParticleEffectForUGUI/commit/90593ac021ce19d164927e44804354535db047bb)), closes [#93](https://github.com/mob-sakai/ParticleEffectForUGUI/issues/93)
* trails material uses sprite texture ([9e65ee7](https://github.com/mob-sakai/ParticleEffectForUGUI/commit/9e65ee7345e16b5124e94d26f5749999c648f677)), closes [#92](https://github.com/mob-sakai/ParticleEffectForUGUI/issues/92)


### Features

* refresh children ParticleSystem with a gameObjects as root ([8bae1d0](https://github.com/mob-sakai/ParticleEffectForUGUI/commit/8bae1d08cc6f00e2b8d6f336aad92233891da1e4))

# [3.0.0-preview.30](https://github.com/mob-sakai/ParticleEffectForUGUI/compare/v3.0.0-preview.29...v3.0.0-preview.30) (2020-09-02)


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,8 @@ private void Update()
var particle = demo.GetType()
.GetMethod("spawnParticle", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public)
.Invoke(demo, new object[0]) as GameObject;
particle.transform.SetParent(UiParticle.transform, false);
particle.transform.localScale = Vector3.one;
particle.transform.localPosition = Vector3.zero;
UiParticle.RefreshParticles();
UiParticle.SetParticleSystemInstance(particle);
}

public void SetCanvasWidth(int width)
Expand Down
23 changes: 6 additions & 17 deletions Scripts/BakingCamera.cs
Original file line number Diff line number Diff line change
Expand Up @@ -82,23 +82,12 @@ public static Camera GetCamera(Canvas canvas)

var camera = canvas.worldCamera;
var transform = Instance.transform;
if (canvas.renderMode != RenderMode.ScreenSpaceOverlay && camera)
{
var cameraTr = camera.transform;
transform.SetPositionAndRotation(cameraTr.position, cameraTr.rotation);

Instance._camera.orthographic = camera.orthographic;
Instance._camera.orthographicSize = camera.orthographicSize;
Instance._camera.fieldOfView = camera.fieldOfView;
Instance._camera.nearClipPlane = camera.nearClipPlane;
Instance._camera.farClipPlane = camera.farClipPlane;
Instance._camera.rect = camera.rect;
}
else
{
Instance._camera.orthographic = true;
transform.SetPositionAndRotation(canvas.transform.position + s_OrthoPosition, s_OrthoRotation);
}
var rotation = canvas.renderMode != RenderMode.ScreenSpaceOverlay && camera
? camera.transform.rotation
: s_OrthoRotation;

transform.SetPositionAndRotation(canvas.transform.position + s_OrthoPosition, rotation);
Instance._camera.orthographic = true;

return Instance._camera;
}
Expand Down
14 changes: 10 additions & 4 deletions Scripts/UIParticle.cs
Original file line number Diff line number Diff line change
Expand Up @@ -129,15 +129,15 @@ public void SetParticleSystemInstance(GameObject instance)
SetParticleSystemInstance(instance, true);
}

public void SetParticleSystemInstance(GameObject instance, bool destroy)
public void SetParticleSystemInstance(GameObject instance, bool destroyOldParticles)
{
if (!instance) return;

foreach (Transform child in transform)
{
var go = child.gameObject;
go.SetActive(false);
if (!destroy) continue;
if (!destroyOldParticles) continue;

#if UNITY_EDITOR
if (!Application.isPlaying)
Expand All @@ -151,7 +151,7 @@ public void SetParticleSystemInstance(GameObject instance, bool destroy)
tr.SetParent(transform, false);
tr.localPosition = Vector3.zero;

RefreshParticles();
RefreshParticles(instance);
}

public void SetParticleSystemPrefab(GameObject prefab)
Expand All @@ -163,7 +163,13 @@ public void SetParticleSystemPrefab(GameObject prefab)

public void RefreshParticles()
{
GetComponentsInChildren(particles);
RefreshParticles(gameObject);
}

public void RefreshParticles(GameObject root)
{
if (!root) return;
root.GetComponentsInChildren(particles);

foreach (var ps in particles)
{
Expand Down
1 change: 1 addition & 0 deletions Scripts/UIParticleUpdater.cs
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,7 @@ private static void BakeMesh(UIParticle particle)
// Combine
Profiler.BeginSample("[UIParticle] Bake Mesh > CombineMesh");
MeshHelper.CombineMesh(particle.bakedMesh);
MeshHelper.Clear();
Profiler.EndSample();
}

Expand Down
2 changes: 1 addition & 1 deletion Scripts/Utils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ public static long GetMaterialHash(this ParticleSystem self, bool trail)

if (!mat) return 0;

var tex = self.GetTextureForSprite();
var tex = trail ? null : self.GetTextureForSprite();
return ((long) mat.GetHashCode() << 32) + (tex ? tex.GetHashCode() : 0);
}

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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.30",
"version": "3.0.0-preview.31",
"unity": "2018.2",
"license": "MIT",
"repository": {
Expand Down

0 comments on commit 304121d

Please sign in to comment.