85 lines
3.1 KiB
C#
85 lines
3.1 KiB
C#
//#if UNITY_EDITOR
|
|
//using FishNet.Managing.Object;
|
|
//using FishNet.Object;
|
|
//using UnityEditor;
|
|
//using UnityEngine;
|
|
|
|
//namespace FishNet.Editing
|
|
//{
|
|
// internal class PrefabProcessor : AssetPostprocessor
|
|
// {
|
|
// #region Private.
|
|
// /// <summary>
|
|
// /// ScriptableObject to store default prefabs.
|
|
// /// </summary>
|
|
// private static DefaultPrefabObjects _defaultPrefabs;
|
|
// #endregion
|
|
|
|
// /// <summary>
|
|
// /// Called after assets are created or imported.
|
|
// /// </summary>
|
|
// /// <param name="importedAssets"></param>
|
|
// /// <param name="deletedAssets"></param>
|
|
// /// <param name="movedAssets"></param>
|
|
// /// <param name="movedFromAssetPaths"></param>
|
|
//#if UNITY_2021_3_OR_NEWER
|
|
// private static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths, bool didDomainReload)
|
|
//#else
|
|
// private static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
|
|
//#endif
|
|
// {
|
|
|
|
//#if UNITY_2021_3_OR_NEWER
|
|
// if (didDomainReload)
|
|
// return;
|
|
//#endif
|
|
// bool justPopulated;
|
|
// if (_defaultPrefabs == null)
|
|
// _defaultPrefabs = DefaultPrefabsFinder.GetDefaultPrefabsFile(out justPopulated);
|
|
// else
|
|
// justPopulated = DefaultPrefabsFinder.PopulateDefaultPrefabs();
|
|
// //Not found.
|
|
// if (_defaultPrefabs == null)
|
|
// return;
|
|
|
|
// //True if null must be removed as well.
|
|
// bool removeNull = (deletedAssets.Length > 0 || movedAssets.Length > 0 || movedFromAssetPaths.Length > 0);
|
|
// if (removeNull)
|
|
// _defaultPrefabs.RemoveNull();
|
|
|
|
// /* Only need to add new prefabs if not justPopulated.
|
|
// * justPopulated would have already picked up the new prefabs. */
|
|
// if (justPopulated)
|
|
// return;
|
|
|
|
// System.Type goType = typeof(UnityEngine.GameObject);
|
|
// foreach (string item in importedAssets)
|
|
// {
|
|
// System.Type assetType = AssetDatabase.GetMainAssetTypeAtPath(item);
|
|
// if (assetType != goType)
|
|
// continue;
|
|
|
|
// GameObject go = (GameObject)AssetDatabase.LoadAssetAtPath(item, typeof(GameObject));
|
|
// //If is a gameobject.
|
|
// if (go != null)
|
|
// {
|
|
|
|
// NetworkObject nob;
|
|
// //Not a network object.
|
|
// if (!go.TryGetComponent<NetworkObject>(out nob))
|
|
// continue;
|
|
|
|
// /* Check for duplicates because adding a component to a prefab will also call this function
|
|
// * which will result in this function calling multiple times for the same object. */
|
|
// _defaultPrefabs.AddObject(nob, true);
|
|
// }
|
|
// }
|
|
|
|
// EditorUtility.SetDirty(_defaultPrefabs);
|
|
// }
|
|
|
|
// }
|
|
|
|
//}
|
|
|
|
//#endif |