
Auteur:loaforcDernière mise à jour :07/07/2025 03:23:377.1M79KB
Un module de remplacement sonore portable conçu pour donner aux créateurs de paquets sonores plus de contrôle et une base de code plus maintenable.
A Tutoriels simples La façon de créer des paquets sonores est disponible dans le wiki github. Exemples Aussi disponible.
SoundAPI contiendra à terme plusieurs utilitaires pour aider à charger des sons personnalisés. Toutes les méthodes d'utilisation courantes sont disponibles dans SoundAPI Des cours.
Voici un exemple de condition.
[SoundAPICondition("LethalCompany:apparatus_state ")] //Propriétés de la fonction SoundAPI.RegisterAll classe publique ApparatusStateCondition: Condition {public enum StateType {PULLED, PLUGGED_IN} bool statique interne CurrentApparatusPulled=false; public StateType? Value {get; internal set;}}//public override bool Evaluate(IContext context) {StateType state=CurrentApparatusPulled? StateType.PULLED: StateType.PLUGGED_IN; return state=(Value?? StateType.PULLED); //ou manuellement (si une logique plus complexe est nécessaire) SoundAPI.RegisterCondition("LethalLevelLoader:dungeon:has_tag ", () = > new LLLTagCondition<ExtendedDungeonFlow>(() = > {if (! RoundManager.Instance) return null; if (! RoundManager.Instance.dungeonGenerator) return null; if (! PatchedContent.TryGetExtendedContent (RoundManager.Instance.dungeonGenerator.Generator.DungeonFlow, out ExtendedDungeonFlow llDungeon)) return null; return llDungeon)) return null;}));
Les créateurs de packages sonores utiliseront
{"condition ": {"type": "LethalCompany: apparatus_state"}}
Parce que Valeur Est nullable, le créateur du paquet sonore n'a pas besoin de fournir une valeur, elle sera par défaut à true. Sinon, ils peuvent le définir manuellement à Brancher Vérifiez que l'instrument est branché. Il est recommandé d'utiliser une énumération même si il n'y a actuellement que deux options de compatibilité avancée.
Le mapping est un raccourci permettant aux développeurs de mods d'écrire une ou plusieurs correspondances sonores. Il est recommandé aux créateurs de paquets sonores d'utiliser des mappings dans la mesure du possible pour obtenir une compatibilité avancée (car les développeurs de mods peuvent mettre à jour les fichiers mappings via des mises à jour de mod sans avoir à mettre à jour les paquets sonores.)
Pour utiliser le mapping, vous devez inclure un Paquet son.json Dans votre mod zip (c’est SoundAPI qui le charge automatiquement, un SoundAPI La classe pourrait arriver plus tard). Vous n’avez pas besoin d’inclure Alternatives or Voix Dossier. A Les fichiers sont ensuite placés dans le même dossier.
Exemple Documents:
{"FacilityMeltdown: music ": [" MeltdownHandler: MeltdownMusic: MeltdownMusic "]," FacilityMeltdown: warning_voice ": [" MeltdownHandler: WarningVoice: warning1 "," MeltdownHandler: WarningVoice: warning2 "," MeltdownHandler: WarningVoice: warning3 "," MeltdownHandler: WarningVoice: warning4"]}
Remarques: soundapi_mappings.json Les noms de fichiers peuvent être modifiés ultérieurement, mais la compatibilité sera maintenue.
Les créateurs de packages sonores utiliseront ensuite votre cartographie dans leurs remplacements. Le préfixe de mappage dans la correspondance a #.
{"replacements ": [{"matches": "#FacilityMeltdown: music", "sounds": [{"sound ":" meltdown.ogg"}]}]}
Il est recommandé de suivre les conventions de nomenclature pour vos conditions et mappings. Ne pas avoir 1 "pièce" ou plus de 3. Chaque section doit être séparée par deux points.
Nom de votre MOD: NOM orNom de votre MOD: Sous-catégorie: Noms
Téléchargez les mods
Installez LagoFast, démarrez PEAK et jouez avec les mods que vous aimez.