/// <summary> /// Add a custom prefab to the manager.<br /> /// Checks if a prefab with the same name is already added.<br /> /// Added prefabs get registered to the <see cref="ZNetScene"/> on <see cref="ZNetScene.Awake"/>. /// </summary> /// <param name="customPrefab">Prefab to add</param> public void AddPrefab(CustomPrefab customPrefab) { if (!customPrefab.IsValid()) { Logger.LogWarning($"Custom prefab {customPrefab} is not valid"); return; } int hash = customPrefab.Prefab.name.GetStableHashCode(); if (Prefabs.ContainsKey(hash)) { Logger.LogWarning($"Prefab '{customPrefab}' already exists"); return; } customPrefab.Prefab.transform.SetParent(PrefabContainer.transform, false); Prefabs.Add(hash, customPrefab); }