private IEnumerator HandleFlaggingCells() { IntVector2 basePosition = transform.position.IntXY(VectorConversions.Floor); for (int i = 1; i < 4 - 1; i++) { for (int j = 1; j < 4 - 1; j++) { IntVector2 cellPos = new IntVector2(i, j) + basePosition; DeadlyDeadlyGoopManager.ForceClearGoopsInCell(cellPos); } } yield return(new WaitForSeconds(0.4f)); for (int k = 1; k < 4 - 1; k++) { for (int l = 1; l < 4 - 1; l++) { IntVector2 key = new IntVector2(k, l) + basePosition; CellData cellData = GameManager.Instance.Dungeon.data[key]; cellData.fallingPrevented = false; } } yield break; }
private IEnumerator HandleDelayedFireDamage() { Vector2 BottomOffset1 = new Vector3(5, 2); Vector2 TopOffset1 = new Vector3(9, 6); Vector2 BottomOffset2 = new Vector3(4, 1); Vector2 TopOffset2 = new Vector3(8, 6); GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(0.75f), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.SOLID_SPARKLES); GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(1.5f), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.SOLID_SPARKLES); GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(2.25f), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.SOLID_SPARKLES); GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(3), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.SOLID_SPARKLES); yield return(new WaitForSeconds(2f)); GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(1.75f), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.STRAIGHT_UP_FIRE); GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(2.5f), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.STRAIGHT_UP_FIRE); GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(3.25f), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.STRAIGHT_UP_FIRE); GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(4), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.STRAIGHT_UP_FIRE); Exploder.DoDefaultExplosion((transform.position + PitOffset.ToVector3() + new Vector3(1, 0)), Vector2.zero, ignoreQueues: true); specRigidbody.PixelColliders[0].Enabled = false; specRigidbody.RecheckTriggers = true; specRigidbody.RegenerateColliders = true; IntVector2 basePosition = (transform.position.IntXY(VectorConversions.Floor) + PitOffset); IntVector2 cellPos = basePosition; IntVector2 cellPos2 = (basePosition + new IntVector2(1, 0)); DeadlyDeadlyGoopManager.ForceClearGoopsInCell(cellPos); DeadlyDeadlyGoopManager.ForceClearGoopsInCell(cellPos2); sprite.SetSprite("Jungle_Tree_Large_Open"); yield return(new WaitForSeconds(0.4f)); m_ParentRoom.ForcePitfallForFliers = true; CellData cellData = GameManager.Instance.Dungeon.data[cellPos]; CellData cellData2 = GameManager.Instance.Dungeon.data[cellPos2]; cellData.fallingPrevented = false; cellData2.fallingPrevented = false; GameObject JungleTreeFrame = Instantiate(JungleTreeTopFrame, transform.position, Quaternion.identity); if (m_ParentRoom != null) { JungleTreeFrame.transform.SetParent(m_ParentRoom.hierarchyParent, true); } yield break; }