using Unity.Netcode; using UnityEngine; namespace Northbound { public static class NetworkSpawnHelper { public static void AddFogOfWarVisibility(GameObject obj, bool showInExploredAreas = true, float updateInterval = 0.2f) { if (obj.GetComponent() == null) { var visibility = obj.AddComponent(); visibility.showInExploredAreas = showInExploredAreas; visibility.updateInterval = updateInterval; } } public static void PreparePreviewForRendering(GameObject preview) { NetworkObject netObj = preview.GetComponent(); if (netObj != null) { Object.DestroyImmediate(netObj); } Building building = preview.GetComponent(); if (building != null) { Object.DestroyImmediate(building); } } public static void ApplyMaterialToPreview(GameObject preview, Material material) { Renderer[] renderers = preview.GetComponentsInChildren(); foreach (var renderer in renderers) { Material[] mats = new Material[renderer.materials.Length]; for (int i = 0; i < mats.Length; i++) { mats[i] = material; } renderer.materials = mats; } } public static void DisableColliders(GameObject obj) { foreach (var collider in obj.GetComponentsInChildren()) { collider.enabled = false; } } } }