public void EnsureNSTMasterConforms() { gameObject.EnsureRootComponentExists <NSTMaster>(); gameObject.EnsureRootComponentExists <MasterNetAdapter>(); /// Changed Master to not use NI - this is to make sure any old NIs are removed UnityEngine.Networking.NetworkIdentity ni = gameObject.GetComponent <UnityEngine.Networking.NetworkIdentity>(); if (ni) { UnityEngine.Object.DestroyImmediate(ni, true); } if (PrefabUtility.GetPrefabType(gameObject) == PrefabType.PrefabInstance) { PrefabUtility.RevertPrefabInstance(gameObject); } }
public static bool ReplaceNetworkIdentity(GameObject prefab) { UnityEngine.Networking.NetworkIdentity unetNetworkComponent = prefab.GetComponent <UnityEngine.Networking.NetworkIdentity>(); if (unetNetworkComponent != null) { Mirror.NetworkIdentity mirrorNetworkComponent = null; byte i = 0; while (prefab.GetComponent <Mirror.NetworkIdentity>() == null && i < 3) { try { mirrorNetworkComponent = prefab.AddComponent <Mirror.NetworkIdentity>(); } catch { // ignore random errors } i++; } if (mirrorNetworkComponent == null) { mirrorNetworkComponent = prefab.GetComponent <Mirror.NetworkIdentity>(); } if (mirrorNetworkComponent == null) { Debug.LogError("Could not add NetworkIdentity to:" + prefab.name); return(false); } mirrorNetworkComponent.localPlayerAuthority = unetNetworkComponent.localPlayerAuthority; mirrorNetworkComponent.serverOnly = unetNetworkComponent.serverOnly; // destroy UNET component DestroyImmediate(unetNetworkComponent, true); return(true); } return(false); }
public void EnsureNSTMasterConforms() { //GameObject nstMasterPrefab = Resources.Load("NST Master", typeof(GameObject)) as GameObject; gameObject.EnsureRootComponentExists <NSTMaster>(); gameObject.EnsureRootComponentExists <MasterNetAdapter>(); if (MasterNetAdapter.NetLib == NetworkLibrary.UNET) { gameObject.EnsureRootComponentExists <UnityEngine.Networking.NetworkIdentity>(); } else { UnityEngine.Networking.NetworkIdentity ni = gameObject.GetComponent <UnityEngine.Networking.NetworkIdentity>(); if (ni) { UnityEngine.Object.DestroyImmediate(ni, true); } } if (PrefabUtility.GetPrefabType(gameObject) == PrefabType.PrefabInstance) { PrefabUtility.RevertPrefabInstance(gameObject); } }
private void OnFailedToConnectToMasterServer(UnityEngine.Networking.NetworkIdentity error) { isConnected.value = false; onConnectedToMaster.Raise(); Debug.LogError(error.ToString()); }