internal static void Prefix(ref Context __instance, ref List <MonoInstaller> ____installerPrefabs, ref List <MonoInstaller> ____monoInstallers, ref List <Installer> ____normalInstallers, ref List <Type> ____normalInstallerTypes, ref List <ScriptableObjectInstaller> ____scriptableObjectInstallers) { var ____contractNames = new List <string>(); var ____decoratorContexts = new List <SceneDecoratorContext>(); if (__instance is SceneContext sceneContext) { ____contractNames.AddRange(sceneContext.ContractNames); ____decoratorContexts.AddRange(Decorators(ref sceneContext)); } if (__instance is SceneDecoratorContext sceneDecoratorContext) { ____decoratorContexts.Add(sceneDecoratorContext); } var sourceNames = ____contractNames.Concat( ____installerPrefabs.Select(a => a.GetType().FullName).Concat( ____monoInstallers.Select(b => b.GetType().FullName).Concat( ____normalInstallers.Select(c => c.GetType().FullName).Concat( ____normalInstallerTypes.Select(d => d.FullName).Concat( ____scriptableObjectInstallers.Select(e => e.GetType().FullName).Concat( ____decoratorContexts.Select(f => f.gameObject.scene.name))))))); SiraEvents.SendInstallEvent(sourceNames.ToArray(), __instance, __instance.Container, ____decoratorContexts, LastGamemodeSetupName, LastTransitionSetupName, LastMidSceneName); }
public static void Postfix(MultiplayerLevelScenesTransitionSetupDataSO multiplayerLevelScenesTransitionSetupData, MultiplayerResultsData multiplayerResultsData) { var dict = new Dictionary <string, LevelCompletionResults>(); foreach (var player in multiplayerResultsData.otherPlayersData) { dict.Add(player.connectedPlayer.userId, player.multiplayerLevelCompletionResults.levelCompletionResults); } SiraEvents.SendMultiplayerEvent(multiplayerLevelScenesTransitionSetupData, multiplayerResultsData.localPlayerResultData.multiplayerLevelCompletionResults.levelCompletionResults, dict); }
internal static void Prefix(ref SceneContext __instance, ref List <string> ____contractNames, ref List <MonoInstaller> ____installerPrefabs, ref List <MonoInstaller> ____monoInstallers, ref List <Installer> ____normalInstallers, ref List <Type> ____normalInstallerTypes, ref List <ScriptableObjectInstaller> ____scriptableObjectInstallers, ref List <SceneDecoratorContext> ____decoratorContexts) { var sourceNames = ____contractNames.Concat( ____installerPrefabs.Select(a => a.GetType().FullName).Concat( ____monoInstallers.Select(b => b.GetType().FullName).Concat( ____normalInstallers.Select(c => c.GetType().FullName).Concat( ____normalInstallerTypes.Select(d => d.FullName).Concat( ____scriptableObjectInstallers.Select(e => e.GetType().FullName).Concat( ____decoratorContexts.Select(f => f.gameObject.scene.name))))))); for (int i = 0; i < sourceNames.Count(); i++) { SiraEvents.SendInstallEvent(sourceNames.ElementAt(i), __instance, __instance.Container, ____decoratorContexts, LastGamemodeSetupName, LastTransitionSetupName, LastMidSceneName); } }
public static void Postfix(MultiplayerLevelScenesTransitionSetupDataSO multiplayerLevelScenesTransitionSetupData, DisconnectedReason disconnectedReason) { SiraEvents.SendDisconnectEvent(multiplayerLevelScenesTransitionSetupData, disconnectedReason); }
public static void Postfix(MissionLevelScenesTransitionSetupDataSO missionLevelScenesTransitionSetupData, MissionCompletionResults missionCompletionResults) { SiraEvents.SendMissionEvent(missionLevelScenesTransitionSetupData, missionCompletionResults); }
public static void Postfix(StandardLevelScenesTransitionSetupDataSO standardLevelScenesTransitionSetupData, LevelCompletionResults levelCompletionResults) { SiraEvents.SendStandardEvent(standardLevelScenesTransitionSetupData, levelCompletionResults); }