Skip to content

Commit

Permalink
Instantiate our prefab templates as deactivated (#542)
Browse files Browse the repository at this point in the history
  • Loading branch information
LeeTwentyThree committed Apr 17, 2024
1 parent cc80268 commit 307e6e6
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ public AtmosphereVolumeTemplate(PrefabInfo info, VolumeShape shape, string overr
public override IEnumerator GetPrefabAsync(TaskResult<GameObject> gameObject)
{
var prefab = new GameObject(info.ClassID);
prefab.SetActive(false);
prefab.layer = AtmosphereVolumesLayer;

Collider collider = Shape switch
Expand Down
12 changes: 7 additions & 5 deletions Nautilus/Assets/PrefabTemplates/CloneTemplate.cs
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ public override IEnumerator GetPrefabAsync(TaskResult<GameObject> gameObject)
GameObject obj = gameObject.Get();
if (obj)
{
obj.SetActive(false);
ApplySkin(obj);
ModifyPrefab?.Invoke(obj);
if(ModifyPrefabAsync is { })
Expand All @@ -89,12 +90,13 @@ public override IEnumerator GetPrefabAsync(TaskResult<GameObject> gameObject)

if (_spawnType == SpawnType.TechType)
{
yield return CraftData.InstantiateFromPrefabAsync(_techTypeToClone, gameObject);
obj = gameObject.Get();
var task = CraftData.GetPrefabForTechTypeAsync(_techTypeToClone);
yield return task;
obj = Utils.InstantiateDeactivated(task.GetResult());
}
else if(_spawnType == SpawnType.Prefab)
{
var task = _prefabToClone.InstantiateAsync();
var task = _prefabToClone.LoadAssetAsync();
yield return task;

if (task.Status != UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationStatus.Succeeded)
Expand All @@ -103,7 +105,7 @@ public override IEnumerator GetPrefabAsync(TaskResult<GameObject> gameObject)
yield break;
}

obj = task.Result;
obj = Utils.InstantiateDeactivated(task.Result);
}
else if(_spawnType == SpawnType.ClassId)
{
Expand All @@ -116,7 +118,7 @@ public override IEnumerator GetPrefabAsync(TaskResult<GameObject> gameObject)
yield break;
}

obj = Object.Instantiate(prefab);
obj = Utils.InstantiateDeactivated(prefab);
}

ApplySkin(obj);
Expand Down
2 changes: 2 additions & 0 deletions Nautilus/Assets/PrefabTemplates/EggTemplate.cs
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,7 @@ public override IEnumerator GetPrefabAsync(TaskResult<GameObject> gameObject)
var obj = gameObject.Get();
if (obj)
{
obj.SetActive(false);
yield return ProcessEgg(obj);
yield break;
}
Expand All @@ -231,6 +232,7 @@ Please use one of the constructor overloads that take a game object or pass a ga
""");
yield break;
}
obj.SetActive(false);
yield return ProcessEgg(obj);

gameObject.Set(obj);
Expand Down
3 changes: 2 additions & 1 deletion Nautilus/Assets/PrefabTemplates/EnergySourceTemplate.cs
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ public override IEnumerator GetPrefabAsync(TaskResult<GameObject> gameObject)
var obj = gameObject.Get();
if (obj)
{
obj.SetActive(false);
ApplyModifications(obj);
yield break;
}
Expand All @@ -68,7 +69,7 @@ private IEnumerator CreateEnergySource(IOut<GameObject> gameObject)
var task = CraftData.GetPrefabForTechTypeAsync(tt, false);
yield return task;

var obj = GameObject.Instantiate(task.GetResult());
var obj = UWE.Utils.InstantiateDeactivated(task.GetResult());

yield return ApplyModifications(obj);

Expand Down
2 changes: 1 addition & 1 deletion Nautilus/Assets/PrefabTemplates/FabricatorTemplate.cs
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ private IEnumerator CreateFabricator(IOut<GameObject> gameObject)
InternalLogger.Error($"Failed to get prefab for {FabricatorModel}!!!!!!!! PLEASE REPORT THIS BUG TO THE NAUTILUS TEAM!");
}

var obj = GameObject.Instantiate(prefab);
var obj = Utils.InstantiateDeactivated(prefab);
yield return ApplyCrafterPrefab(obj);
gameObject.Set(obj);
}
Expand Down

0 comments on commit 307e6e6

Please sign in to comment.