Files
Nitrox/NitroxModel-Subnautica/DataStructures/GameLogic/Entities/SubnauticaUweWorldEntityFactory.cs
2025-07-06 00:23:46 +02:00

33 lines
1.1 KiB
C#

using System.Collections.Generic;
using NitroxModel.DataStructures.GameLogic.Entities;
using UWE;
namespace NitroxModel_Subnautica.DataStructures.GameLogic.Entities;
public class SubnauticaUweWorldEntityFactory : IUweWorldEntityFactory
{
private readonly Dictionary<string, WorldEntityInfo> worldEntitiesByClassId;
public SubnauticaUweWorldEntityFactory(Dictionary<string, WorldEntityInfo> worldEntitiesByClassId)
{
this.worldEntitiesByClassId = worldEntitiesByClassId;
}
public bool TryFind(string classId, out UweWorldEntity uweWorldEntity)
{
if (worldEntitiesByClassId.TryGetValue(classId, out WorldEntityInfo worldEntityInfo))
{
uweWorldEntity = new(worldEntityInfo.classId,
worldEntityInfo.techType.ToDto(),
worldEntityInfo.slotType.ToString(),
worldEntityInfo.prefabZUp,
(int)worldEntityInfo.cellLevel,
worldEntityInfo.localScale.ToDto());
return true;
}
uweWorldEntity = null;
return false;
}
}