Autor:TeamMoonstormLetzte Aktualisierung:11/09/2021 03:40:242.6M530KB

R2API _ Adressen
LoadingScreenSpriteFix

R2API_Farben

R2API _ ArtifactCode
MoonstormSharedUtils, auch bekannt als MSU, ist eine API, die zum Erstellen von Inhaltsmodulen rund um das ThunderKit-System entwickelt wurde.
![]()
Ursprünglich Teil einer API und eines Frameworks, das für das Update erstellt wurde Starstorm2 Für ein besseres Entwicklerlebnis ist das ThunderKit-Setup exponentiell zu einer eigenen eigenständigen Bibliothek gewachsen, so dass es für jeden verfügbar ist, der große Inhaltsmodule mit ThunderKit erstellen möchte.
MSU verfolgt die folgenden Ziele in Bezug auf die Entwicklung und Verwaltung des Verteidigungsministeriums.
Während Mods, die nur Code haben, ihre Inhalte (Presets, ScriptableObjects usw.) zur Laufzeit und normalerweise während des Waches erstellen, führt dies zu einem Problem, das als "Forever Black Screen" bekannt ist, bei dem das System der meisten Mods initialisiert wird, bevor der Ladescreen des Spiels beginnt. Dies gibt den Eindruck, dass das Spiel eingefroren ist und nicht auf vergessliche Benutzer reagiert. Obwohl dies wahr ist, ist es schwierig, das Laden und die Interaktion zwischen benutzerdefinierten Inhalten von Assetbundles und dem Spielsystem zu verwalten.
MSU löst dieses Problem durch die Dreifaltigkeit von Inhaltsstoffen, Inhaltsstoffanbietern und Modulrahmen. Dieses Triplet wird verwendet, um Mods zu ermöglichen, ihre Assets während des Ladescreens asynchron zu laden und sie mit dem System des Basisspiels funktionieren zu lassen.
, die eine Bindung an eine bestimmte UnityEngine.Object.
Inhaltliche Stücke<T>
IArtifactInhaltPiece, für ArtifactDefsIEquipmentInhaltStück Gerätedefinition
IEliteInhaltStück Verwaltung Elite Definition Einem bestimmten Gerät zugeordnet ist.IItemInhaltStück Projektdefinition.
IVoidItemInhaltStück Verwalten Sie Gegenstände, die in Void Survivor hinzugefügt wurden, um das System zu beschädigen.IItemTierInhaltStückFür ItemTierDefsISceneInhaltStück Szenariodefinition., bedeutet die Bindung an einen bestimmten Typ UnityEngine.MonoBehaviour
IGameObjectInhaltStück<TComponent>
ICharakterInhaltStück Für Charakter
IMonsterInhaltPiece Kann gegen feindliche Monster eingesetzt werdenISurvivorInhaltStückKann verwendet werden, um neue Überlebende zu verwalten.Interaktive Inhalte Für Interaktiv.IVanillaSurvivorInhaltStück, die eine Modifikation der Vanilla Survivor darstellt. Klassen können auch implementiert werden IContentPackModifier, für die direkte Schnittstelle mit dem ContentPack Ihres Mods.Inhaltliche Stücke Kurse mit Grundspielen. System.IContentProviderFür ein Modul kann man es nennen Initialisierung Methode, um eine Coroutine abzurufen, die Ihren Inhalt asynchron initialisiert.Werkstückmodul IArtifactInhaltPieces, ArtifactModule mit R2API.ArtifactCode Fügen Sie neue Artefakt-Codes zum Spiel hinzu. Es kümmert sich auch um das korrekte Ein- und Entkoppeln des Werkstücks, so dass das Einhaken des Werkstücks nur freigegeben ist, wenn es freigegeben ist.Zeichenmodul, Verwaltung ICharakterInhaltStück, ISurvivorInhaltStück IMonsterInhaltPiece, Modul mit R2API.Director Umgang mit dem Laichen von Monstern in verschiedenen Phasen des Spiels.Gerätemodul IEquipmentInhaltStückUnd IEliteInhaltsstückDieses Modul nutzt einen einzigen Hook, um die Ausführungsaufrufe des Gerätes zu verwalten.Interaktionsmodul, Verwaltung Interaktive Inhalte, Modul mit R2API.Director Handhabung interaktiver Generationen für verschiedene Phasen des Spiels.Projektmodul IItemInhaltStück Und IVoidItemInhaltStück. Es handelt sich automatisch um Artikel Beschädigung.IItemTierModule IItemTierInhaltStück, das zu Beginn des Laufs automatisch eine Sammlung verfügbarer Dropdown-Listen für diese Ebene erstellt.Szenenmodul, Verwaltung ISceneInhaltStück, die mit R2API. Phase Um mit dem Hinzufügen einer Phase im Spiel umzugehen.Vanilla Survivor Modul, Verwaltung IVanillaSurvivorInhaltStück. für das Hinzufügen neuer Inhalte (Skins, Skills usw.) für die Überlebenden des Basisspiels Angeboten Inhaltliche Stückes zu den Modulen.
IContentPieceProvider Schnittstelle zur Verwaltung von Verfügbarkeitsschemata, MSU Der Inhalt ist nützlich Klassen enthalten Methoden, die die Assembly einfach analysieren können, um sie von Grund auf zu erstellen.Eines der wichtigsten Ziele von MSU ist es, mit dem Risiko des Rain 2-Systems zu arbeiten und Inhalte zu produzieren, die mit ihm funktionieren, anstatt das System des Basisspiels zu zwingen, mit unserem zu arbeiten. Daher bietet MSU ein leistungsstarkes System zur Interaktion mit den wichtigsten Systemen des Spiels wie Ausrüstung, buffs, Gegenständen usw.
Um unnötige Haken von häufig verwendeten Typen zu vermeiden, bietet die MSU Schnittstellen, die innerhalb der Komponenten folgender Systeme verwendet werden können:
IOnEinkommenDamageAnderer ServerEmpfangen, der als Haken auf TakeDamage fungiert und verwendet werden kann, um den Schaden des Opfers zu modifizieren.Statistisches Projektverhalten, die als Hook-Schnittstelle für die Neuberechnung von Statistiken dient, enthält Methoden, die vor und nach der Neuberechnung von Statistiken ausgeführt werden.iBodyStatArg Modifikator, eine Schnittstelle, die als R2API. Statistiken neu berechnenGetStatCoefficient-Delegation.BaseItemMasterBehaviour, ähnlich wie sein Body-Gegenstück (Grundlegendes körperliches Verhalten) wird verwendet, um Verhaltensweisen zu erstellen, die dem CharacterMaster hinzugefügt werden, wenn das angegebene Element erhalten wird.
BaseBuffBehaviour ist eine Komponente, die verwendet werden kann, um Bufff-Effekte zu verwalten. Aus Performance-Gründen wird BaseBuffBehaviours nicht zerstört, wenn ein buff entfernt wird, stattdessen wird das Verhalten hinzugefügt, wenn der buff zum ersten Mal vom Hauptkörper erworben wird und wenn der buff-Stack erschöpft ist BehinderteDanach, wenn der Körper den buff wieder erhält, ist das Verhalten ErmöglichtDies reduziert den Arbeitsaufwand des Garbage Collectors und verbessert insgesamt die Leistung des Systems.
Da sich das Ziel von MSU um die Arbeit in einem Editor dreht, hat MSU zahlreiche Dienstprogramme zur Erstellung von Inhalten für Spiele gebündelt.
MSU bietet eine benutzerdefinierte ImportExtension, die verwendet werden kann, um WWise-Assemblies im Spiel auf die schwarze Liste zu setzen, sodass Sie das WWise-Integrationssystem in Ihrem Projekt verwenden können.
MSU stellt die folgenden ScriptableObjects zur Verfügung, die es ermöglichen, "Nur-Laufzeit"-Inhalte zum Zeitpunkt der Bearbeitung zu erstellen.
Realisierbare Entsperrungsbedeutung, als Abstraktion der Systeme UnlockableDef und AchievementDef, seine Entsperrung der Bedeutung Dies wird durch Erfolge freigeschaltet.Punkt BuffDef, als Abstraktion von DotDef und weist DotDef automatisch seinem zugewiesenen BuffDef zu.Erweiterte Definition löschen, als Elite Definition Klassen, Unterstützung für die automatische Hinzufügung zu den Basisspielebenen, Elite-Rampen, Deckmaterialien und mehr.Anbieter von interaktiven KartenEin ScriptableObject, das die Metadaten enthält, die erforderlich sind, um die Interaktivität schrittweise zu generieren, wobei einer einzelnen Karte mehrere Schritte zugeordnet werden können.MonsterCardProvider, ein ScriptableObject, das die Metadaten enthält, die erforderlich sind, um Monster in Stufen zu spawnen, und mehrere Stufen können einer Karte zugewiesen werden.Projekte anzeigen WörterbuchEin ScriptableObject, das ähnlich wie R2API.ProjekteItemDisplayDictionary-System, das verwendet werden kann, um mehrere Regelgruppen zu bestehenden hinzuzufügen ArtikelDisplayRuleSets, Schlüsselassets und Display-Presets werden durch NamedItemDisplayRuleSet, ScriptableObject, kann verwendet werden, um vollständige ArtikelDisplayRuleSet Für das Rollenmodell. Schlüsselassets und Display-Presets werden durch ArtikelDisplayKatalogSysteme innerhalb der MSU.SerializableEliteTierDef, als Elite DEF Spiele innerhalb des Systems, denen ein Kostenmultiplikator zugewiesen werden kann, ist adressierbar mit Bezug auf die Basisspiel-Elite-Ebenen und -Modi.UberSkinDef, als ein all-inclusive Dienstprogramm für SkinDefs, implementiert Unterstützung für das SkinVFX-System von R2API und fügt Skins zu normalen Charakteren hinzuDa MSU unter Berücksichtigung des Thunderkits erstellt wurde, bietet MSU folgende ComposableObjects für Ihr Projekt:
Liste Verwenden Sie die notwendigen Manifestdatum Für die Deklaration Ihrer modPfadreferenzDies ist für saubere Builds und Veröffentlichung Ihrer ModsMit der Standard-Implementierung von BepInEx kann das Erstellen einer Konfiguration für Ihre Mods ziemlich langwierig sein, MSU implementiert ein Konfigurationssystem über BepInEx, das es Ihnen ermöglicht, alles einfach zu konfigurieren.
Die MSU bietet folgende Abstraktionen für das BepInEx-Konfigurationssystem:
Konfigurationsfelder
Konfigurationsteil Und Spitzname Keine Implementierung erforderlich, MSU wird standardmäßig verwendet Mitgliederinformationen KonfigurationName, und DeklarationstypDer Name ist KonfigurationsteilKonfigurationsvariablen
Die Bindung von Konfigurationsänderungen an einen Token-Wert ist einer der besten Teile der Erstellung von Token mit Code. Die Übersetzung dieser Token kann jedoch schwierig zu verwalten sein, da der Übersetzer die Übersetzung direkt in eine C#-Quelldatei kodiert.
MSU zur Verfügung gestellt Format Token System, können Sie jetzt den Wert des Tokens mit dem String-Formatierungssystem von C # schreiben. Damit können Sie JSON-Sprachdateien richtig bootstrappen, die Übersetzer leicht für Übersetzungen verwenden können, solange die richtige Indexreihenfolge beibehalten wird.
MSU ist ein Leidenschaftsprojekt von Nebby, einem der TeamMoonstorm-Mitglieder. Daher widmete er sich in seiner Freizeit daran und ermöglichte es dem Rest der Community, erstaunliche und beeindruckende Inhalte zu erstellen.
Die MSU wird immer kostenlos zu nutzen sein und wird nie hinter einer Paywall eingeschlossen sein, aber die Spende ist unglaublich geschätzt.
(Hinweis: Klicken Sie auf das Symbol, um eine neue Registerkarte des Mod zu öffnen!)

Mods jetzt herunterladen
Installieren Sie LagoFast, starten Sie Risk of Rain 2 und spielen Sie mit den Mods, die Sie lieben.