private void AddWindowDamage(int damage, MetaDataNode data, Vector3Int cellPos, Vector3 bulletHitTarget) { data.AddDamage(damage); if (data.GetDamage >= 20 && data.GetDamage < 50 && data.WindowDmgType != "crack01") { tileChangeManager.ChangeTile("crack01", cellPos, TileChangeLayer.WindowDamage); data.WindowDmgType = "crack01"; } if (data.GetDamage >= 50 && data.GetDamage < 75 && data.WindowDmgType != "crack02") { tileChangeManager.ChangeTile("crack02", cellPos, TileChangeLayer.WindowDamage); data.WindowDmgType = "crack02"; } if (data.GetDamage >= 75 && data.GetDamage < 100 && data.WindowDmgType != "crack03") { tileChangeManager.ChangeTile("crack03", cellPos, TileChangeLayer.WindowDamage); data.WindowDmgType = "crack03"; } if (data.GetDamage >= 100 && data.WindowDmgType != "broken") { tileChangeManager.RemoveTile(cellPos, TileChangeLayer.Window); //Spawn 3 glass shards with different sprites: SpawnGlassShards(bulletHitTarget); //Play the breaking window sfx: PlaySoundMessage.SendToAll("GlassBreak0" + Random.Range(1, 4).ToString(), bulletHitTarget, 1f); data.WindowDmgType = "broken"; data.ResetDamage(); } }
private void AddGrillDamage(int damage, MetaDataNode data, Vector3Int cellPos, Vector3 bulletHitTarget) { data.AddDamage(damage); //Make grills a little bit weaker (set to 60 hp): if (data.GetDamage >= 60) { tileChangeManager.RemoveTile(cellPos, TileChangeLayer.Grill); tileChangeManager.ChangeTile("GrillDestroyed", cellPos, TileChangeLayer.BrokenGrill); PlaySoundMessage.SendToAll("GrillHit", bulletHitTarget, 1f); //Spawn rods: SpawnRods(bulletHitTarget); data.ResetDamage(); } }