/// <summary> /// Removes the instance of the NetworkManager if the instance being destroyed is the the same as the singleton. /// </summary> /// <param name="aInstance"></param> private static void DestroyInstance(NetworkManager aInstance) { if (s_Instance == aInstance) { s_Instance = null; } }
/// <summary> /// Sets the instance of the NetworkManager to the instance given. /// </summary> /// <param name="aInstance">The instance to make singleton</param> /// <returns></returns> private static bool SetInstance(NetworkManager aInstance) { if (s_Instance != null && s_Instance != aInstance) { return false; } s_Instance = aInstance; return true; }
/// <summary> /// Creates an instance of the NetworkManager if it was missing. /// </summary> private static void CreateInstance() { GameObject persistant = GameObject.Find(Game.PERSISTANT_GAME_OBJECT_NAME); if (persistant == null) { persistant = new GameObject(Game.PERSISTANT_GAME_OBJECT_NAME); persistant.transform.position = Vector3.zero; persistant.transform.rotation = Quaternion.identity; } s_Instance = persistant.GetComponent<NetworkManager>(); if (s_Instance == null) { s_Instance = persistant.AddComponent<NetworkManager>(); } }