private static void RegisterClientPrefabsNStuff(On.RoR2.Networking.GameNetworkManager.orig_OnStartClient orig, RoR2.Networking.GameNetworkManager self, UnityEngine.Networking.NetworkClient newClient) { orig(self, newClient); foreach (HashStruct h in thingsToHash) { if (h.prefab.HasComponent <NetworkIdentity>()) { h.prefab.GetComponent <NetworkIdentity>().SetFieldValue <NetworkHash128>("m_AssetId", nullHash); } ClientScene.RegisterPrefab(h.prefab, NetworkHash128.Parse(MakeHash(h.goName + h.callPath + h.callMember + h.callLine.ToString()))); } }
private static void GameNetworkManager_OnStartClient(On.RoR2.Networking.GameNetworkManager.orig_OnStartClient orig, GameNetworkManager self, NetworkClient newClient) { orig(self, newClient); ClientScene.RegisterPrefab(TwisterPrefab, NetworkHash128.Parse("9725011d8b662d98")); ClientScene.RegisterPrefab(GravBombPrefab, NetworkHash128.Parse("6d803141bb60b3f7")); ClientScene.RegisterPrefab(AsteroidProjectilePrefab, NetworkHash128.Parse("34eddec13b017082")); //For convenience: pre-generated random IDs that can be used later //164497abc3b46e41 //bfd424a1ac1b07ce //7c3cba1b92427f72 //0ab8e989d1c6c999 //0e90dedbde0f4b5a //a2177e2b92a917c3 //0327fff31597212d //6cd812cea49b73c5 }