Auteur:TeamMoonstormDernière mise à jour :11/09/2021 03:40:242.6M530KB

R2API_Addressables

R2API_Colors
Charger ScreenSpriteFix

R2API_ArtifactCode
MoonstormSharedUtils, également connu sous le nom de MSU, est une API conçue pour créer des modules de contenu autour du système ThunderKit.
![]()
Initialement faisant partie des API et des cadres construits pour les mises à jour Starstorm2 Pour une meilleure expérience de développement, le paramètre ThunderKit s’est multiplié pour devenir sa propre bibliothèque indépendante, de sorte qu’il est accessible à tous ceux qui souhaitent créer de gros modules de contenu avec ThunderKit.
MSU s'efforce d'atteindre les objectifs suivants concernant le développement et la gestion du ministère de la Défense nationale.
Bien que seuls les mods de code créent leur contenu (préréglages, ScriptableObjects, etc.) à l'exécution et généralement à l'éveil, cela entraîne un problème appelé « écran noir pour toujours », où le système de la plupart de ces mods est initialisé avant que l'écran de chargement du jeu ne commence. Cela donne l'idée que le jeu est gelé et ne répond pas aux utilisateurs oubliés. Bien que cela soit vrai, il est difficile de gérer le chargement et l'interaction entre le contenu personnalisé provenant d'Assetbundles et le système de jeu.
MSU résout ce problème par une trinité de contenu, fournisseur de contenu et cadre modulaire. Ce triplet est utilisé pour permettre aux mods de charger leurs actifs de manière asynchrone pendant l'écran de chargement et de les faire fonctionner correctement avec le système du jeu de base.
, qui signifie une liaison à un particulier UnityEngine.Object.
Pièces contenues<T>
IArtifactContentPiece, pour ArtifactDefsIEquipmentContentPiece Définition des équipements
IEliteContentPiece Gestion Définition d'élite Associé à un dispositif spécifique.IItemContentPiece Définition du projet.
IVoidItemContentPiece Gérer les objets ajoutés à Void Survivor pour endommager le système.IItemTierContentPiecefor ItemTierDefsISceneContentPiece Définition des scénarios., indiquant la liaison à un type particulier de UnityEngine.MonoBehaviour
IGameObjectContentPiece<TComponent>
ICaracterContentPiece for Personnage
IMonsterContentPiece Peut être utilisé contre des monstres hostilesISurvivorContentPiecePeut être utilisé pour gérer de nouveaux survivants.Contenu interactif for Interactible.IVanillaSurvivorContentPiece, qui représente une modification de Vanilla Survivor. Les classes peuvent également être implémentées IContentPackModifier, pour l'interface directe avec le ContentPack de votre mod.Pièces contenues Cours avec des jeux de base. Système.IContentProviderPour un module, vous pouvez l'appeler Initialisation Méthode pour obtenir une coroutine qui initialisera votre contenu de manière asynchrone.Module de pièce IArtifactContentPieces, ArtifactModule avec R2API.ArtifactCode Ajoutez de nouveaux codes d'artefact au jeu. Il gère également l'accrochage et le décrochage corrects de la pièce, de sorte que son accrochage n'est activé que lorsque la pièce est activée.Module de caractères, gérant ICaracterContentPiece, ISurvivorContentPiece IMonsterContentPiece, module avec R2API.Director Gérer la fraie des monstres à toutes les étapes du jeu.Module de l'équipement IEquipmentContentPieceEt IEliteContentPieceCe module utilise un seul crochet pour gérer les appels d'exécution de l'appareil.Module interactif, gérant Contenu interactif, module avec R2API.Director Gérer les générations interactives pour les différentes étapes du jeu.Module de projet IItemContentPiece Et IVoidItemContentPiece. Il gère automatiquement les dommages d'articles.Module de projet IItemTierContentPiece, qui crée automatiquement une collection de listes déroulantes disponibles pour cette couche au début de l'exécution.Module de scène, gérant ISceneContentPiece, il est associé à R2API. Phase Pour gérer l'ajout d'une étape au jeu.Vanilla Survivant Module, gérant IVanillaSurvivorContentPiece. Pour ajouter de nouveaux contenus (skins, compétences, etc.) aux survivants du jeu de base Offrir Pièces contenuess au module.
IContentPieceProvider Interface pour gérer les schémas de disponibilité, MSU Contenu utile Les classes contiennent des méthodes qui permettent de les créer à partir de zéro simplement en analysant les assemblies.L'un des objectifs clés de MSU est de travailler avec les risques du système Rain 2 et de produire du contenu qui fonctionne avec lui, plutôt que de forcer le système du jeu de base à fonctionner avec le nôtre. Par conséquent, MSU fournit un système puissant pour interagir avec les systèmes clés du jeu tels que l'équipement, les buffs, les objets, etc.
Afin d'éviter les crochets inutiles sur les types couramment utilisés, le MSU fournit des interfaces qui peuvent être utilisées à l'intérieur des composants des systèmes suivants:
IOnIncomingDamageOtherServerReciever, qui fonctionne comme un crochet sur TakeDamage et peut être utilisé pour modifier les dommages de la victime.Comportement des éléments statistiques, qui sert d'interface raccrochée pour recalculer les statistiques, contient des méthodes qui s'exécutent avant et après le recalcule des statistiques.Modificateur iBodyStatArg, une interface qui agit en tant que R2API. Recalculer les statistiquesLa commission GetStatCoefficient.BaseItemMasterBehaviour, tout comme son équivalent Body (Comportement physique de base) Utilisé pour créer un comportement qui est ajouté au CharacterMaster lorsque le projet spécifié est obtenu.
BaseBuffBehaviour est un composant qui peut être utilisé pour gérer les effets Buff. Pour des raisons de performance, BaseBuffBehaviours n'est pas cassé lorsque le buff est supprimé, au contraire, le comportement est ajouté lorsque le buff est acquis pour la première fois par le corps, et lorsque la pile de buffs est épuisée, le comportement est HandicapésAprès cela, lorsque le corps reçoit à nouveau le buff, le comportement est ActivéCela réduit la charge de travail du collecteur de déchets et améliore globalement les performances du système.
Comme l'objectif de MSU tourne autour du travail dans un éditeur, MSU fournit un grand nombre d'utilitaires sur la création de contenu pour les jeux.
MSU fournit une Extension ImportExtension personnalisée qui peut être utilisée pour mettre sur liste noire les assemblies WWise dans votre jeu, vous permettant d'utiliser le système d'intégration WWise dans votre projet.
MSU fournit les ScriptableObjects suivants qui permettent de créer du contenu « exécuté uniquement » au moment de l'édition.
Déverrouillage peut être réalisé, comme une abstraction des systèmes UnlockableDef et AchievementDef, son Déverrouillage sens Ceci est déverrouillé grâce à des réalisations.Point BuffDef, comme une abstraction de DotDef et assigne automatiquement DotDef à son BuffDef spécifié.Extension Supprimer la définition, comme Définition d'élite Classes, prise en charge de l'ajout automatique aux couches de jeu de base, rampes d'élite, matériaux de couverture, et bien plus encore.Fournisseur de cartes interactivesUn ScriptableObject qui contient les métadonnées nécessaires à la génération d'interactivité par étapes, plusieurs étapes pouvant être affectées à une seule carte.MonsterCardProvider, un ScriptableObject qui contient les métadonnées nécessaires pour pondre des monstres par étapes, plusieurs étapes peuvent être attribuées à une seule carte.Dictionnaire d'affichage des projetsUn ScriptableObject qui fonctionne comme R2API. ProjetsSystème ItemDisplayDictionary, qui peut être utilisé pour ajouter plusieurs groupes de règles à un existant ItemDisplayRuleSets, les actifs clés et les préréglages d'affichage sont établis par NamedItemDisplayRuleSet, ScriptableObject, peut être utilisé pour créer un complet ItemDisplayRuleSet Pour le modèle de personnage. Les actifs clés et les préréglages d'affichage sont établis ItemDisplayCatalogSystèmes à l'intérieur du MSU.SerializableEliteTierDef, comme Elite DEF Le jeu au sein du système peut être affecté à un multiplicateur de coût, adressable en référence aux niveaux et modes d'élite du jeu de base.UberSkinDef, comme un utilitaire tout compris pour SkinDefs, implémente le support du système SkinVFX de R2API et ajoute des skins aux personnages normauxComme MSU a été créé en tenant compte du thunderkit, MSU propose les ComposableObjects suivants pour votre projet:
Liste Utilisez le nécessaire Date du manifeste Utilisé pour déclarer votre modRéférence de cheminCeci est utilisé pour la construction propre et la publication de vos modsAvec l'implémentation par défaut de BepInEx, la création de configurations pour vos mods peut être très longue, mais MSU implémente un système de configuration au-dessus de BepInEx qui vous permet de configurer tout facilement.
MSU fournit les abstractions suivantes du système de configuration BepInEx:
Champs de configuration
Partie de configuration Et Surnom Aucune implémentation requise, MSU utilise par défaut Informations sur les membres ConfigurationName, et Type de déclarationLe nom de Partie de configurationVariables de configuration
La liaison des modifications de configuration à la valeur du jeton est l'une des meilleures parties de la création de jetons à l'aide du code. Cependant, la traduction de ces jetons peut être difficile à gérer car elle nécessite que le traducteur code la traduction directement dans le fichier source C#.
Fourni par MSU Format Token Système, vous pouvez maintenant utiliser le système de formatage de chaînes de C# pour écrire la valeur du jeton. Avec cela, vous pouvez guider correctement les fichiers de langage JSON et les traducteurs peuvent facilement utiliser ces fichiers pour la traduction, à condition que l'ordre d'indexation correct soit maintenu.
MSU est un projet de passion de Nebby, l'un des membres de TeamMoonstorm. Il y a donc eu son temps libre pour y travailler, permettant au reste de la communauté de créer du contenu incroyable et impressionnant.
MSU sera toujours gratuit à utiliser et ne sera jamais enfermé derrière un paywall, cependant, les dons sont incroyablement appréciés.
(Remarque: Cliquez sur l'icône pour ouvrir un nouvel onglet du Mod!)

Téléchargez les mods
Installez LagoFast, démarrez Risk of Rain 2 et jouez avec les mods que vous aimez.