public Block(ArkanoidLevelScreen _levelInst, TiledObject _obj) : base("ArkanoidSprites/Breakout-006-A.png", 5, 5) { SetXY(_obj.X, _obj.Y); _blockHealth = _obj.GetIntProperty("health"); _level = _levelInst; _canBlockBeDestroyed = _obj.GetBoolProperty("canBeDestroyed"); SetFrame(_obj.GetIntProperty("type")); _destroyableBlockSound = new Sound("ArkanoidSounds/BallHitBox.mp3"); }
private void PlayAudioOrMusic(string text) { var match = _audioRegex.Match(text); if (match.Success) { var propName = match.Value.Replace("[", "").Replace("]", ""); var fileName = _tiledData.GetStringProperty(propName, ""); if (string.IsNullOrWhiteSpace(fileName)) { return; } if (propName.StartsWith("audio_")) { //Try find loop property int audioIndex = int.TryParse(propName.Replace("audio_", ""), out audioIndex) ? audioIndex : -1; var loopProp = _tiledData.GetBoolProperty($"audio_loop_{audioIndex}", false); var audioVolume = _tiledData.GetFloatProperty($"audio_volume_{audioIndex}", Settings.SFX_Default_Volume); if (loopProp) { GameSoundManager.Instance.PlayFxLoop(fileName, audioVolume); } else { GameSoundManager.Instance.PlayFx(fileName, audioVolume); } } else if (propName.StartsWith("music_")) { int musicIndex = int.TryParse(propName.Replace("music_", ""), out musicIndex) ? musicIndex : -1; float musicVolume = _tiledData.GetFloatProperty($"music_volume_{musicIndex}", Settings.Flashbacks_Music_Volume); GameSoundManager.Instance.FadeOutCurrentMusic(); GameSoundManager.Instance.FadeInMusic(fileName, musicVolume, Settings.Flashbacks_Music_Fadein_Duration); } } }