public virtual void Explode() { mg_JetpackReboot active = MinigameManager.GetActive <mg_JetpackReboot>(); mg_jr_Resources resources = active.Resources; GameObject pooledResource = resources.GetPooledResource(mg_jr_ResourceList.GAME_PREFAB_EFFECT_OBSTACLE_EXPLOSION); Bounds bounds = WidestBounds(); if (bounds.size.x < 1.5f) { pooledResource.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f); } SpriteRenderer component = pooledResource.GetComponent <SpriteRenderer>(); Assert.NotNull(component, "Explosion effect must have a spriterenderer"); component.sortingOrder = mg_jr_SpriteDrawingLayers.Instance.SpriteOrder(mg_jr_SpriteDrawingLayers.DrawingLayers.OBSTACLE_0); Vector3 center = component.bounds.center; Vector3 vector = pooledResource.transform.position - center; pooledResource.transform.position = bounds.center + vector; pooledResource.transform.parent = active.GameLogic.transform; if (Random.value >= 0.5f) { active.PlaySFX(mg_jr_Sound.OBSTACLE_EXPLODE_01.ClipName()); } else { active.PlaySFX(mg_jr_Sound.OBSTACLE_EXPLODE_02.ClipName()); } resources.ReturnPooledResource(base.gameObject); }
private void Update() { if (!m_miniGame.IsPaused) { float num = m_renderer.bounds.max.x + 0.25f; if (num < m_miniGame.VisibleWorldBounds.min.x) { base.gameObject.transform.parent = null; m_resources.ReturnPooledResource(base.gameObject); } } }
public void DestroyLevel() { mg_jr_Resources resources = MinigameManager.GetActive <mg_JetpackReboot>().Resources; List <Transform> list = new List <Transform>(); foreach (Transform item in base.transform) { list.Add(item); } foreach (Transform item2 in list) { resources.ReturnPooledResource(item2.gameObject); } Object.Destroy(base.gameObject); }
private void Update() { if (m_miniGame.IsPaused) { return; } bool flag = false; SpriteRenderer[] renderers = m_renderers; foreach (SpriteRenderer spriteRenderer in renderers) { flag = spriteRenderer.bounds.Intersects(m_miniGame.VisibleWorldBounds); if (flag) { break; } } if (!flag) { base.gameObject.transform.parent = null; m_resources.ReturnPooledResource(base.gameObject); } }