private void Awake()
        {
            Instance = this;

            _lobby       = gameObject.AddComponent <QSBNetworkLobby>();
            _assetBundle = QSB.NetworkAssetBundle;

            playerPrefab = _assetBundle.LoadAsset <GameObject>("assets/networkplayer.prefab");
            playerPrefab.AddComponent <PlayerTransformSync>();
            playerPrefab.AddComponent <AnimationSync>();
            playerPrefab.AddComponent <WakeUpSync>();
            DebugLog.LogState("PlayerPrefab", playerPrefab);

            _shipPrefab = _assetBundle.LoadAsset <GameObject>("assets/networkship.prefab");
            _shipPrefab.AddComponent <ShipTransformSync>();
            spawnPrefabs.Add(_shipPrefab);
            DebugLog.LogState("ShipPrefab", _shipPrefab);

            _cameraPrefab = _assetBundle.LoadAsset <GameObject>("assets/networkcameraroot.prefab");
            _cameraPrefab.AddComponent <PlayerCameraSync>();
            spawnPrefabs.Add(_cameraPrefab);
            DebugLog.LogState("CameraPrefab", _cameraPrefab);

            _probePrefab = _assetBundle.LoadAsset <GameObject>("assets/networkprobe.prefab");
            _probePrefab.AddComponent <PlayerProbeSync>();
            spawnPrefabs.Add(_probePrefab);
            DebugLog.LogState("ProbePrefab", _probePrefab);

            ConfigureNetworkManager();
        }
Beispiel #2
0
        private void Start()
        {
            Helper = ModHelper;
            DebugLog.ToConsole($"* Start of QSB version {Helper.Manifest.Version} - authored by {Helper.Manifest.Author}", MessageType.Info);

            NetworkAssetBundle = Helper.Assets.LoadBundle("assets/network");
            DebugLog.LogState("NetworkBundle", NetworkAssetBundle);

            ProbePatches.DoPatches();
            DeathPatches.DoPatches();

            // Turns out these are very finicky about what order they go. QSBNetworkManager seems to
            // want to go first-ish, otherwise the NetworkManager complains about the PlayerPrefab being
            // null (even though it isn't...)
            gameObject.AddComponent <QSBNetworkManager>();
            gameObject.AddComponent <NetworkManagerHUD>();
            gameObject.AddComponent <DebugActions>();
            gameObject.AddComponent <ElevatorManager>();
            gameObject.AddComponent <GeyserManager>();
            gameObject.AddComponent <QSBSectorManager>();
        }