示例#1
0
        public override void InstallBindings()
        {
            MultiplayerPlayersManager playersManager = Container.Resolve <MultiplayerPlayersManager>();

            playersManager.GetField <MultiplayerConnectedPlayerFacade, MultiplayerPlayersManager>("_connectedPlayerControllerPrefab").GetComponentInChildren <MultiplayerAvatarPoseController>().gameObject.AddComponent <CustomAvatarController>();
            playersManager.GetField <MultiplayerConnectedPlayerFacade, MultiplayerPlayersManager>("_connectedPlayerDuelControllerPrefab").GetComponentInChildren <MultiplayerAvatarPoseController>().gameObject.AddComponent <CustomAvatarController>();
        }
示例#2
0
        static void Postfix(MultiplayerPlayersManager __instance)
        {
            Instance = __instance;
#if DEBUG
            Logger.Log("Got MultiplayerPlayersManager", LogLevel.Notice);
#endif
        }
示例#3
0
        static void Postfix(MultiplayerPlayersManager __instance)
        {
            Instance = __instance;
#if DEBUG
            Logger.log.Notice("Got MultiplayerPlayersManager");
#endif
        }
        public override void InstallBindings()
        {
            MultiplayerPlayersManager playersManager = Container.Resolve <MultiplayerPlayersManager>();

            playersManager.GetField <MultiplayerLocalActivePlayerFacade, MultiplayerPlayersManager>("_activeLocalPlayerControllerPrefab").gameObject.AddComponent <MultiplayerActivePlayer>();
            playersManager.GetField <MultiplayerLocalActivePlayerFacade, MultiplayerPlayersManager>("_activeLocalPlayerDuelControllerPrefab").gameObject.AddComponent <MultiplayerActivePlayer>();
            playersManager.GetField <MultiplayerConnectedPlayerFacade, MultiplayerPlayersManager>("_connectedPlayerControllerPrefab").gameObject.AddComponent <MultiplayerActivePlayer>();
            playersManager.GetField <MultiplayerConnectedPlayerFacade, MultiplayerPlayersManager>("_connectedPlayerDuelControllerPrefab").gameObject.AddComponent <MultiplayerActivePlayer>();
        }
        internal static void Postfix(MultiplayerCoreInstaller __instance)
        {
            MonoInstallerBase         mib       = __instance;
            DiContainer               container = SiraUtil.Accessors.GetDiContainer(ref mib);
            MultiplayerPlayersManager manager   = container.Resolve <MultiplayerPlayersManager>();

            MultiplayerConnectedPlayerFacade playerFacade     = PlayerFacade(ref manager);
            MultiplayerConnectedPlayerFacade duelPlayerFacade = PlayerDuelFacade(ref manager);

            SetupPoseController(playerFacade);
            SetupPoseController(duelPlayerFacade);
        }
示例#6
0
        private static void OnSessionPlayerConnected(IConnectedPlayer player)
        {
            if (playersManager == null)
            {
                playersManager = Resources.FindObjectsOfTypeAll <MultiplayerPlayersManager>().FirstOrDefault();
            }

            connectedPlayers.Add(player);
            connectedPlayers = connectedPlayers.OrderBy(pl => pl.sortIndex)
                               .ToList();

            Logger.Log($"ConnectedPlayer---------------", LogLevel.Info);
            for (int i = 0; i < connectedPlayers.Count; i++)
            {
                Logger.Log($"ConnectedPlayer {connectedPlayers[i].userName},{connectedPlayers[i].sortIndex}", LogLevel.Info);
            }
        }
示例#7
0
        private GlobalTrickManager(
            SiraLog logger,
            PluginConfig config,
            AudioTimeSyncController audioTimeSyncController,
            GameplayCoreSceneSetupData gameplayCoreSceneSetup,
            [Inject(Id = SaberType.SaberA)] SaberTrickManager leftTrickManager,
            [Inject(Id = SaberType.SaberB)] SaberTrickManager rightTrickManager,
            [InjectOptional] MultiplayerPlayersManager multiplayerPlayersManager)
        {
            _logger = logger;
            _config = config;
            _audioTimeSyncController = audioTimeSyncController;

            _iDifficultyBeatmap = gameplayCoreSceneSetup.difficultyBeatmap;

            _slowmoStepAmount = _config.SlowmoStepAmount;

            LeftSaberTrickManager  = leftTrickManager;
            RightSaberTrickManager = rightTrickManager;

            _isMultiplayer = multiplayerPlayersManager != null;
        }
示例#8
0
        private static void OnSessionConnected()
        {
            ConnectedMultiplay = true;
            connectedPlayers.Clear();
            playersManager = Resources.FindObjectsOfTypeAll <MultiplayerPlayersManager>().FirstOrDefault();
            Logger.Log($"SessionManager Connected", LogLevel.Info);

            LobbyContoroller = Resources.FindObjectsOfTypeAll <MultiplayerLobbyController>().FirstOrDefault();
            if (LobbyContoroller == null)
            {
                Logger.Log($"Unable to get LobbyContoroller", LogLevel.Error);
            }
            connectedPlayers.Add(SessionManager.localPlayer);
            Logger.Log($"ConnectedPlayer---------------", LogLevel.Info);
            for (int i = 0; i < connectedPlayers.Count; i++)
            {
                Logger.Log($"ConnectedPlayer {connectedPlayers[i].userName},{connectedPlayers[i].sortIndex}", LogLevel.Info);
            }

            if (Plugin.Instance._rootConfig.MultiplayerProfile != "")
            {
                Plugin.Instance._profileChanger.ProfileChange(Plugin.Instance._rootConfig.MultiplayerProfile);
            }
        }
示例#9
0
 public PlatformsGameInstaller(PlatformSpawner platformSpawner, [InjectOptional] MultiplayerPlayersManager multiplayerPlayersManager)
 {
     _platformSpawner           = platformSpawner;
     _multiplayerPlayersManager = multiplayerPlayersManager;
 }
 public static void Postfix(MultiplayerPlayersManager __instance)
 {
     playerDidFinishEvent(__instance) += delegate { PlatformManager.ChangeToPlatform(0); };
 }
示例#11
0
        private SaberTrickModel(PluginConfig config, SiraSaber.Factory saberFactory, ColorManager colorManager, [InjectOptional] MultiplayerPlayersManager multiplayerPlayersManager, SiraLog logger)
        {
            _config       = config;
            _saberFactory = saberFactory;
            _colorManager = colorManager;
            _logger       = logger;

            _isMultiplayer = multiplayerPlayersManager != null;
        }
示例#12
0
        static void Prefix(MultiplayerIntroAnimationController __instance, ref bool ____bindingFinished, ref PlayableDirector ____introPlayableDirector, ref MultiplayerPlayersManager ____multiplayerPlayersManager)
        {
            lastDirector = ____introPlayableDirector;

            if (targetIterations == 0)
            {
                targetIterations = (int)Math.Floor((____multiplayerPlayersManager.allActiveAtGameStartPlayers.Count - 1) / 4f) + 1;
            }
            if (targetIterations != 1)
            {
                GameObject newPlayableGameObject = new GameObject();
                ____introPlayableDirector = newPlayableGameObject.AddComponent <PlayableDirector>();
                ____introPlayableDirector.playableAsset = lastDirector.playableAsset;
            }

            TimelineAsset mutedTimeline = (TimelineAsset)____introPlayableDirector.playableAsset;

            foreach (TrackAsset track in mutedTimeline.GetOutputTracks())
            {
                track.muted = track is AudioTrack && targetIterations != 1;
            }

            ____bindingFinished = false;
        }
示例#13
0
 private static void Prefix(MultiplayerController __instance, MultiplayerPlayersManager ____playersManager)
 {
     _playersManager = ____playersManager;
     Events.SetSelectedLevel(null);
 }