@@ -106,52 +106,52 @@ public override void Awake()
106106 playerPrefab = QSBCore . NetworkAssetBundle . LoadAsset < GameObject > ( "Assets/Prefabs/NETWORK_Player_Body.prefab" ) ;
107107 playerPrefab . GetRequiredComponent < NetworkIdentity > ( ) . SetValue ( "_assetId" , ( uint ) 1 ) ;
108108
109- ShipPrefab = MakeNewNetworkObject ( 2 , "NetworkShip" , typeof ( ShipTransformSync ) ) ;
109+ ShipPrefab = MakeNewNetworkObject ( "NetworkShip" , typeof ( ShipTransformSync ) ) ;
110110 var shipVector3Sync = ShipPrefab . AddComponent < Vector3VariableSyncer > ( ) ;
111111 var shipThrustSync = ShipPrefab . AddComponent < ShipThrusterVariableSyncer > ( ) ;
112112 shipThrustSync . AccelerationSyncer = shipVector3Sync ;
113113 spawnPrefabs . Add ( ShipPrefab ) ;
114114
115- _probePrefab = MakeNewNetworkObject ( 3 , "NetworkProbe" , typeof ( PlayerProbeSync ) ) ;
115+ _probePrefab = MakeNewNetworkObject ( "NetworkProbe" , typeof ( PlayerProbeSync ) ) ;
116116 spawnPrefabs . Add ( _probePrefab ) ;
117117
118- OrbPrefab = MakeNewNetworkObject ( 4 , "NetworkOrb" , typeof ( NomaiOrbTransformSync ) ) ;
118+ OrbPrefab = MakeNewNetworkObject ( "NetworkOrb" , typeof ( NomaiOrbTransformSync ) ) ;
119119 spawnPrefabs . Add ( OrbPrefab ) ;
120120
121- AnglerPrefab = MakeNewNetworkObject ( 5 , "NetworkAngler" , typeof ( AnglerTransformSync ) ) ;
121+ AnglerPrefab = MakeNewNetworkObject ( "NetworkAngler" , typeof ( AnglerTransformSync ) ) ;
122122 spawnPrefabs . Add ( AnglerPrefab ) ;
123123
124- JellyfishPrefab = MakeNewNetworkObject ( 6 , "NetworkJellyfish" , typeof ( JellyfishTransformSync ) ) ;
124+ JellyfishPrefab = MakeNewNetworkObject ( "NetworkJellyfish" , typeof ( JellyfishTransformSync ) ) ;
125125 spawnPrefabs . Add ( JellyfishPrefab ) ;
126126
127- OccasionalPrefab = MakeNewNetworkObject ( 7 , "NetworkOccasional" , typeof ( OccasionalTransformSync ) ) ;
127+ OccasionalPrefab = MakeNewNetworkObject ( "NetworkOccasional" , typeof ( OccasionalTransformSync ) ) ;
128128 spawnPrefabs . Add ( OccasionalPrefab ) ;
129129
130- RaftPrefab = MakeNewNetworkObject ( 8 , "NetworkRaft" , typeof ( RaftTransformSync ) ) ;
130+ RaftPrefab = MakeNewNetworkObject ( "NetworkRaft" , typeof ( RaftTransformSync ) ) ;
131131 spawnPrefabs . Add ( RaftPrefab ) ;
132132
133- DoorPrefab = MakeNewNetworkObject ( 9 , "NetworkEclipseDoor" , typeof ( EclipseDoorVariableSyncer ) ) ;
133+ DoorPrefab = MakeNewNetworkObject ( "NetworkEclipseDoor" , typeof ( EclipseDoorVariableSyncer ) ) ;
134134 spawnPrefabs . Add ( DoorPrefab ) ;
135135
136- ElevatorPrefab = MakeNewNetworkObject ( 10 , "NetworkEclipseElevator" , typeof ( EclipseElevatorVariableSyncer ) ) ;
136+ ElevatorPrefab = MakeNewNetworkObject ( "NetworkEclipseElevator" , typeof ( EclipseElevatorVariableSyncer ) ) ;
137137 spawnPrefabs . Add ( ElevatorPrefab ) ;
138138
139- AirlockPrefab = MakeNewNetworkObject ( 11 , "NetworkGhostAirlock" , typeof ( AirlockVariableSyncer ) ) ;
139+ AirlockPrefab = MakeNewNetworkObject ( "NetworkGhostAirlock" , typeof ( AirlockVariableSyncer ) ) ;
140140 spawnPrefabs . Add ( AirlockPrefab ) ;
141141
142- ShipModulePrefab = MakeNewNetworkObject ( 12 , "NetworkShipModule" , typeof ( ShipModuleTransformSync ) ) ;
142+ ShipModulePrefab = MakeNewNetworkObject ( "NetworkShipModule" , typeof ( ShipModuleTransformSync ) ) ;
143143 spawnPrefabs . Add ( ShipModulePrefab ) ;
144144
145- ShipLegPrefab = MakeNewNetworkObject ( 13 , "NetworkShipLeg" , typeof ( ShipLegTransformSync ) ) ;
145+ ShipLegPrefab = MakeNewNetworkObject ( "NetworkShipLeg" , typeof ( ShipLegTransformSync ) ) ;
146146 spawnPrefabs . Add ( ShipLegPrefab ) ;
147147
148- ModelShipPrefab = MakeNewNetworkObject ( 14 , "NetworkModelShip" , typeof ( ModelShipTransformSync ) ) ;
148+ ModelShipPrefab = MakeNewNetworkObject ( "NetworkModelShip" , typeof ( ModelShipTransformSync ) ) ;
149149 var modelShipVector3Syncer = ModelShipPrefab . AddComponent < Vector3VariableSyncer > ( ) ;
150150 var modelShipThrusterVariableSyncer = ModelShipPrefab . AddComponent < ModelShipThrusterVariableSyncer > ( ) ;
151151 modelShipThrusterVariableSyncer . AccelerationSyncer = modelShipVector3Syncer ;
152152 spawnPrefabs . Add ( ModelShipPrefab ) ;
153153
154- StationaryProbeLauncherPrefab = MakeNewNetworkObject ( 15 , "NetworkStationaryProbeLauncher" , typeof ( StationaryProbeLauncherVariableSyncer ) ) ;
154+ StationaryProbeLauncherPrefab = MakeNewNetworkObject ( "NetworkStationaryProbeLauncher" , typeof ( StationaryProbeLauncherVariableSyncer ) ) ;
155155 spawnPrefabs . Add ( StationaryProbeLauncherPrefab ) ;
156156
157157 ConfigureNetworkManager ( ) ;
@@ -207,11 +207,13 @@ private void InitPlayerName() =>
207207 }
208208 } ) ;
209209
210+ private static uint _assetId = 2 ; // 1 is the player
211+
210212 /// create a new network prefab from the network object prefab template.
211213 /// this works by calling Unload(false) and then reloading the AssetBundle,
212214 /// which makes LoadAsset give you a new resource.
213215 /// see https://docs.unity3d.com/Manual/AssetBundles-Native.html.
214- private static GameObject MakeNewNetworkObject ( uint assetId , string name , Type networkBehaviourType )
216+ public static GameObject MakeNewNetworkObject ( string name , Type networkBehaviourType )
215217 {
216218 var bundle = QSBCore . Helper . Assets . LoadBundle ( "AssetBundles/qsb_empty" ) ;
217219
@@ -225,8 +227,11 @@ private static GameObject MakeNewNetworkObject(uint assetId, string name, Type n
225227 bundle . Unload ( false ) ;
226228
227229 template . name = name ;
228- template . AddComponent < NetworkIdentity > ( ) . SetValue ( "_assetId" , assetId ) ;
230+ template . AddComponent < NetworkIdentity > ( ) . SetValue ( "_assetId" , _assetId ) ;
229231 template . AddComponent ( networkBehaviourType ) ;
232+
233+ _assetId ++ ;
234+
230235 return template ;
231236 }
232237
0 commit comments