Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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());
 }