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(); }
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>(); }