
Autore:loaforcUltimo aggiornamento:2025-07-07 03:23:377.1M79KB
Un mod di sostituzione del suono portatile, costruito per dare ai creatori di sound pack più controllo e una base di codice più manutenibile.
A Semplice tutorial Per rendere un pacchetto sonoro è disponibile nel wiki github. Gli esempi Sono disponibili anche.
Soundapi alla fine conterrà più utilità per aiutare con il caricamento dei suoni personalizzati. Tutti i metodi di uso comune sono sotto SoundAPI La classe.
Ecco un esempio di condizione.
[SoundAPICondition("LethalCompany:apparatusstate")]//attribut per SoundAPI.RegisterAll funzione classe pubblica apparatusstatecondition:Condition{public enum StateType{pull,PLUGGED_IN} internal static bool currentapparatuspull=false; public StateType?Value {get; internal set;} public override bool Evaluate(context icontext){StateType state=currentapparatuspull?statetype.pull:StateType.PLUGGED_IN; return state ==(Value?? statetype.pull);}}//per registrare tutto nel vostro assembly (questo rispetterà altre soft-dipendenze nel vostro mod) SoundAPI.RegisterAll(Assembly.GetExecutingAssembly ()); //o manualmente (se hai bisogno di logica più complessa) SoundAPI.RegisterCondition("LethalLevelLoader: dungeon: has_tag ", () = > new LLLTagCondition<ExtendedDungeonFlow>(() = > {if (! RoundManager.Instance) ritorno null; if (! RoundManager.Instance.dungeonggenerator) ritorno null; if (! PatchedContent.TryGetExtendedContent(RoundManager.Instance.dungeonGenerator.Generator.DungeonFlow, out extendedungeonflow lldungeon)) ritorno null; ritorno lldungeon;}));
I creatori di sound-pack useranno
{"condition":{"type":"LethalCompany:apparat_state"}}
Perché... Il valore è nullabile, il creatore del pacchetto audio non ha bisogno di fornire un valore e sarà predefinito per true. Altrimenti, possono impostarlo manualmente su _inserito Per verificare se l'apparecchio è collegato. Si raccomanda di utilizzare un enum anche se attualmente ci sono solo due opzioni per la compatibilità in avanti.
Le mappature sono per uno sviluppatore di mod per scrivere una scorciatoia per uno o più corrispondenze sonore. è consigliato che i creatori di sound pack utilizzino le mappature ove possibile per la compatibilità in avanti (poiché il mod dev può aggiornare il file di mappatura con un aggiornamento mod, senza che il sound pack debba essere aggiornato).
Per utilizzare la mappatura è necessario includere una Pacchetto suono.json Nel tuo mod zip (questo è così soundapi lo carica automaticamente, un'opzione per caricarli tramite SoundAPI La lezione può arrivare più tardi). Non è necessario includere uno I sostituti O... Il suono Cartella. A. File poi va nella stessa cartella.
L'esempio file:
{"FacilityMeltdown:music":["MeltdownHandler:meltdownMusic:meltdownMusic"],"FacilityMeltdown:WarningVoice:warning1 "," MeltdownHandler:WarningVoice:warning2 "," MeltdownHandler:WarningVoice:warning3 "," MeltdownHandler:WarningVoice:warning4 "]}
Nota: il Soundapi _mappings.json Può cambiare il nome del file in seguito, ma la compatibilità verrà mantenuta.
I creatori di sound-pack useranno quindi le tue mappature nei loro sostituti. Le mappature nelle corrispondenze sono aggiunte a una #.
{"replacements ": [{"matchs":"#FacilityMeltdown:music", "sounds":[{"sound":"meltdown.ogg"}]}]}
Si consiglia di seguire una convenzione di denominazione per le tue condizioni e mappature. Non hanno 1"parte "o più di 3. Ogni parte deve essere separata con un colone.
Nome del tuo mod: nome O...Nome del tuo mod: sottocategoria: nome
Scarica subito le mod
Installa LagoFast, avvia PEAK e gioca con le mod che ami.