/// <summary> /// The game calls this method when some effect (like a sound) is required. /// </summary> /// <param name="effect">Effect to be played</param> /// <param name="arg1">Custom argument for the effect, meaning changes according to the effect.</param> /// <param name="arg2">Custom argument for the effect, meaning changes according to the effect.</param> public override void EffectNotify(TileGameEffect effect, int arg1, int arg2) { switch (effect) { case TileGameEffect.eEFFECT_EXIT: break; case TileGameEffect.eEFFECT_DESTROYING: case TileGameEffect.eEFFECT_DESTROYING_BONUS: { soundEffects[AUDIO_SAMPLE_DESTROY].Play(1.0f, 0.0f, 0.0f); if (arg1 > 0) { // Bonus sound as well soundEffects[AUDIO_SAMPLE_EXP_BONUS].Play(1.0f, (float)arg1 / 12.0f, 0.0f); } } break; case TileGameEffect.eEFFECT_GAMEOVER: soundEffects[AUDIO_GAME_OVER].Play(); break; case TileGameEffect.eEFFECT_NEWLEVEL: soundEffects[AUDIO_NEXT_LEVEL].Play(); break; case TileGameEffect.eEFFECT_LEVELCOMPLETED: soundEffects[AUDIO_LEVEL_COMPLETED].Play(); break; case TileGameEffect.eEFFECT_XBONUS: soundEffects[AUDIO_SAMPLE_X_BONUS].Play(); break; case TileGameEffect.eEFFECT_BLOCK_BEGIN_FINISHED: soundEffects[AUDIO_SAMPLE_CHANGE].Play(0.4f, 0.0f, 0.0f); break; case TileGameEffect.eEFFECT_BLOCK_VANISH_STARTED: soundEffects[AUDIO_SAMPLE_CHANGE_COMPLETED].Play(0.4f, 0.0f, 0.0f); break; case TileGameEffect.eCHANGING: soundEffects[AUDIO_SAMPLE_CHANGE].Play(1.0f, 0.0f, 0.0f); break; case TileGameEffect.eCHANGE_COMPLETED: soundEffects[AUDIO_SAMPLE_CHANGE_COMPLETED].Play(1.0f, 0.0f, 0.0f); break; case TileGameEffect.eILLEGAL_MOVE: soundEffects[AUDIO_ILLEGAL_MOVE].Play(); break; case TileGameEffect.eCLICK: case TileGameEffect.eEFFECT_MENU: soundEffects[AUDIO_SAMPLE_CLICK].Play(); break; default: break; } }
public virtual void EffectNotify(TileGameEffect effect, int arg1, int arg2) { }