package games.strategy.sound;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import games.strategy.engine.data.properties.IEditableProperty;
/**
* Contains the sound file names and the directory of all sound files.
*/
public class SoundPath {
// MAKE SURE TO ADD NEW SOUNDS TO THE getAllSoundOptions() METHOD! (or else the user's preference will not be saved)
// standard sounds (files can be found in corresponding data/... folder to this package)
public static final String CLIP_CHAT_MESSAGE = "chat_message";
public static final String CLIP_CHAT_SLAP = "chat_slap";
public static final String CLIP_CHAT_JOIN_GAME = "chat_join_game";
// TODO
public static final String CLIP_CLICK_BUTTON = "click_button";
// TODO
public static final String CLIP_CLICK_PLOT = "click_plot";
public static final String CLIP_GAME_START = "game_start";
public static final String CLIP_GAME_WON = "game_won";
// TODO
public static final String CLIP_REQUIRED_ACTION = "required_action";
public static final String CLIP_REQUIRED_YOUR_TURN_SERIES = "required_your_turn_series";
// TripleA sounds:
// custom AA Guns:
public static final String CLIP_BATTLE_X_PREFIX = "battle_";
public static final String CLIP_BATTLE_X_HIT = "_hit";
public static final String CLIP_BATTLE_X_MISS = "_miss";
// custom triggered notification sounds:
public static final String CLIP_TRIGGERED_NOTIFICATION_SOUND = "notification_";
public static final String CLIP_TRIGGERED_DEFEAT_SOUND = "defeat_";
public static final String CLIP_TRIGGERED_VICTORY_SOUND = "victory_";
// normal sounds:
public static final String CLIP_BATTLE_AA_HIT = "battle_aa_hit";
public static final String CLIP_BATTLE_AA_MISS = "battle_aa_miss";
public static final String CLIP_BATTLE_AIR = "battle_air";
public static final String CLIP_BATTLE_AIR_SUCCESSFUL = "battle_air_successful";
public static final String CLIP_BATTLE_BOMBARD = "battle_bombard";
public static final String CLIP_BATTLE_FAILURE = "battle_failure";
public static final String CLIP_BATTLE_LAND = "battle_land";
public static final String CLIP_BATTLE_RETREAT_AIR = "battle_retreat_air";
public static final String CLIP_BATTLE_RETREAT_LAND = "battle_retreat_land";
public static final String CLIP_BATTLE_RETREAT_SEA = "battle_retreat_sea";
public static final String CLIP_BATTLE_RETREAT_SUBMERGE = "battle_retreat_submerge";
public static final String CLIP_BATTLE_SEA_NORMAL = "battle_sea_normal";
public static final String CLIP_BATTLE_SEA_SUBS = "battle_sea_subs";
public static final String CLIP_BATTLE_SEA_SUCCESSFUL = "battle_sea_successful";
public static final String CLIP_BATTLE_STALEMATE = "battle_stalemate";
public static final String CLIP_BOMBING_ROCKET = "bombing_rocket";
public static final String CLIP_BOMBING_STRATEGIC = "bombing_strategic";
public static final String CLIP_PHASE_BATTLE = "phase_battle";
public static final String CLIP_PHASE_END_TURN = "phase_end_turn";
public static final String CLIP_PHASE_MOVE_COMBAT = "phase_move_combat";
public static final String CLIP_PHASE_MOVE_NONCOMBAT = "phase_move_noncombat";
public static final String CLIP_PHASE_PLACEMENT = "phase_placement";
public static final String CLIP_PHASE_POLITICS = "phase_politics";
public static final String CLIP_PHASE_PURCHASE = "phase_purchase";
public static final String CLIP_PHASE_TECHNOLOGY = "phase_technology";
public static final String CLIP_PHASE_USER_ACTIONS = "phase_user_actions";
public static final String CLIP_PLACED_AIR = "placed_air";
public static final String CLIP_PLACED_INFRASTRUCTURE = "placed_infrastructure";
public static final String CLIP_PLACED_LAND = "placed_land";
public static final String CLIP_PLACED_SEA = "placed_sea";
public static final String CLIP_POLITICAL_ACTION_FAILURE = "political_action_failure";
public static final String CLIP_POLITICAL_ACTION_SUCCESSFUL = "political_action_successful";
public static final String CLIP_TECHNOLOGY_FAILURE = "technology_failure";
public static final String CLIP_TECHNOLOGY_SUCCESSFUL = "technology_successful";
public static final String CLIP_TERRITORY_CAPTURE_BLITZ = "territory_capture_blitz";
public static final String CLIP_TERRITORY_CAPTURE_CAPITAL = "territory_capture_capital";
public static final String CLIP_TERRITORY_CAPTURE_LAND = "territory_capture_land";
public static final String CLIP_TERRITORY_CAPTURE_SEA = "territory_capture_sea";
public static final String CLIP_USER_ACTION_FAILURE = "user_action_failure";
public static final String CLIP_USER_ACTION_SUCCESSFUL = "user_action_successful";
public static Set<String> getAllSoundOptions() {
return getAllSoundOptionsWithDescription().keySet();
}
public static Map<String, String> getAllSoundOptionsWithDescription() {
final Map<String, String> soundOptions = new HashMap<>();
soundOptions.put(SoundPath.CLIP_CHAT_MESSAGE, "Chat Messaging");
soundOptions.put(SoundPath.CLIP_CHAT_SLAP, "Chat Slapping");
soundOptions.put(SoundPath.CLIP_CHAT_JOIN_GAME, "Joined Chat");
soundOptions.put(SoundPath.CLIP_CLICK_BUTTON, "Click Button");
soundOptions.put(SoundPath.CLIP_CLICK_PLOT, "Click Plot");
soundOptions.put(SoundPath.CLIP_GAME_START, "Game Start");
soundOptions.put(SoundPath.CLIP_GAME_WON, "Game Won");
soundOptions.put(SoundPath.CLIP_REQUIRED_ACTION, "Required Action");
soundOptions.put(SoundPath.CLIP_REQUIRED_YOUR_TURN_SERIES, "Start of Your Turn Control");
soundOptions.put(SoundPath.CLIP_BATTLE_AA_HIT, "AA Hit");
soundOptions.put(SoundPath.CLIP_BATTLE_AA_MISS, "AA Miss");
soundOptions.put(SoundPath.CLIP_BATTLE_AIR, "Air Battle");
soundOptions.put(SoundPath.CLIP_BATTLE_AIR_SUCCESSFUL, "Air Battle Won");
soundOptions.put(SoundPath.CLIP_BATTLE_BOMBARD, "Bombardment");
soundOptions.put(SoundPath.CLIP_BATTLE_FAILURE, "Battle Lost");
soundOptions.put(SoundPath.CLIP_BATTLE_LAND, "Land Battle");
soundOptions.put(SoundPath.CLIP_BATTLE_RETREAT_AIR, "Air Retreat");
soundOptions.put(SoundPath.CLIP_BATTLE_RETREAT_LAND, "Land Retreat");
soundOptions.put(SoundPath.CLIP_BATTLE_RETREAT_SEA, "Sea Retreat");
soundOptions.put(SoundPath.CLIP_BATTLE_RETREAT_SUBMERGE, "Sub Submerge");
soundOptions.put(SoundPath.CLIP_BATTLE_SEA_NORMAL, "Naval Battle");
soundOptions.put(SoundPath.CLIP_BATTLE_SEA_SUBS, "Submarine Battle");
soundOptions.put(SoundPath.CLIP_BATTLE_SEA_SUCCESSFUL, "Sea Battle Won");
soundOptions.put(SoundPath.CLIP_BATTLE_STALEMATE, "Battle Stalemate");
soundOptions.put(SoundPath.CLIP_BOMBING_ROCKET, "Rocket Attack");
soundOptions.put(SoundPath.CLIP_BOMBING_STRATEGIC, "Strategic Bombing");
soundOptions.put(SoundPath.CLIP_PHASE_BATTLE, "Phase: Battle");
soundOptions.put(SoundPath.CLIP_PHASE_END_TURN, "Phase: End Turn");
soundOptions.put(SoundPath.CLIP_PHASE_MOVE_COMBAT, "Phase: Combat Movement");
soundOptions.put(SoundPath.CLIP_PHASE_MOVE_NONCOMBAT, "Phase: NonCombat Movement");
soundOptions.put(SoundPath.CLIP_PHASE_PLACEMENT, "Phase: Placement");
soundOptions.put(SoundPath.CLIP_PHASE_POLITICS, "Phase: Politics");
soundOptions.put(SoundPath.CLIP_PHASE_PURCHASE, "Phase: Purchase Phase");
soundOptions.put(SoundPath.CLIP_PHASE_TECHNOLOGY, "Phase: Technology");
soundOptions.put(SoundPath.CLIP_PHASE_USER_ACTIONS, "Phase: User Actions");
soundOptions.put(SoundPath.CLIP_PLACED_AIR, "Place Air Units");
soundOptions.put(SoundPath.CLIP_PLACED_INFRASTRUCTURE, "Place Infrastructure");
soundOptions.put(SoundPath.CLIP_PLACED_LAND, "Place Land Units");
soundOptions.put(SoundPath.CLIP_PLACED_SEA, "Place Sea Units");
soundOptions.put(SoundPath.CLIP_POLITICAL_ACTION_FAILURE, "Political Action Failed");
soundOptions.put(SoundPath.CLIP_POLITICAL_ACTION_SUCCESSFUL, "Political Action Successful");
soundOptions.put(SoundPath.CLIP_TECHNOLOGY_FAILURE, "Technology Failed");
soundOptions.put(SoundPath.CLIP_TECHNOLOGY_SUCCESSFUL, "Technology Researched");
soundOptions.put(SoundPath.CLIP_TERRITORY_CAPTURE_BLITZ, "Captured By Blitzing");
soundOptions.put(SoundPath.CLIP_TERRITORY_CAPTURE_CAPITAL, "Captured Capital");
soundOptions.put(SoundPath.CLIP_TERRITORY_CAPTURE_LAND, "Captured Land Territory");
soundOptions.put(SoundPath.CLIP_TERRITORY_CAPTURE_SEA, "Captured Sea Zone");
soundOptions.put(SoundPath.CLIP_TRIGGERED_NOTIFICATION_SOUND, "Triggered Notification Sound");
soundOptions.put(SoundPath.CLIP_TRIGGERED_DEFEAT_SOUND, "Triggered Defeat Sound");
soundOptions.put(SoundPath.CLIP_TRIGGERED_VICTORY_SOUND, "Triggered Victory Sound");
soundOptions.put(SoundPath.CLIP_USER_ACTION_FAILURE, "Action Operation Failed");
soundOptions.put(SoundPath.CLIP_USER_ACTION_SUCCESSFUL, "Action Operation Successful");
return soundOptions;
}
public static List<IEditableProperty> getSoundOptions() {
final List<IEditableProperty> soundBoxes = new ArrayList<>();
getAllSoundOptionsWithDescription().forEach(
(path, description) -> soundBoxes.add(new SoundOptionCheckBox(path, description)));
return soundBoxes;
}
}