using System; using ACE.DatLoader; using ACE.DatLoader.FileTypes; namespace ACE.Server.Physics.Common { public class DBObj { public static Object Get(QualifiedDataID qualifiedDID) { // TODO: map to ACE datloaders // return static or mutable? if (qualifiedDID.Type == 1) return GetCellLandblock(qualifiedDID.ID); if (qualifiedDID.Type == 2) return GetLandblockInfo(qualifiedDID.ID); if (qualifiedDID.Type == 3) return GetEnvCell(qualifiedDID.ID); if (qualifiedDID.Type == 6) return GetGfxObj(qualifiedDID.ID); if (qualifiedDID.Type == 7) return GetSetup(qualifiedDID.ID); if (qualifiedDID.Type == 8) return GetAnimation(qualifiedDID.ID); if (qualifiedDID.Type == 11) return GetSurfaceTexture(qualifiedDID.ID); if (qualifiedDID.Type == 16) return GetEnvironment(qualifiedDID.ID); if (qualifiedDID.Type == 42) return GetParticleEmitterInfo(qualifiedDID.ID); return -1; } /// /// QualifiedDID Type 1 /// public static CellLandblock GetCellLandblock(uint id) { return DatManager.CellDat.ReadFromDat(id); } /// /// QualifiedDID Type 2 /// public static LandblockInfo GetLandblockInfo(uint id) { return DatManager.CellDat.ReadFromDat(id); } /// /// QualifiedDID Type 3 /// public static EnvCell GetEnvCell(uint id) { var envCell = DatManager.CellDat.ReadFromDat(id); return new EnvCell(envCell); } /// /// QualifiedDID Type 6 /// public static GfxObj GetGfxObj(uint id) { return DatManager.PortalDat.ReadFromDat(id); } /// /// QualifiedDID Type 7 /// public static SetupModel GetSetup(uint id) { return DatManager.PortalDat.ReadFromDat(id); } /// /// QualifiedDID Type 8 /// public static DatLoader.FileTypes.Animation GetAnimation(uint id) { return DatManager.PortalDat.ReadFromDat(id); } /// /// QualifiedDID Type 11 /// public static SurfaceTexture GetSurfaceTexture(uint id) { return DatManager.PortalDat.ReadFromDat(id); } /// /// QualifiedDID Type 16 /// public static DatLoader.FileTypes.Environment GetEnvironment(uint id) { return DatManager.PortalDat.ReadFromDat(id); } /// /// QualifiedDID Type 42 /// public static DatLoader.FileTypes.ParticleEmitterInfo GetParticleEmitterInfo(uint id) { return DatManager.PortalDat.ReadFromDat(id); } } }