using MongoDB.Bson.Serialization.Attributes;
using MongoDB.Bson;

namespace CharacterApi.Models;

[BsonIgnoreExtraElements]
public class VisibleLocation
{
    [BsonId]
    [BsonRepresentation(BsonType.ObjectId)]
    public string? Id { get; set; }

    [BsonElement("name")]
    public string Name { get; set; } = string.Empty;

    [BsonElement("coord")]
    public LocationCoord Coord { get; set; } = new();

    [BsonElement("biomeKey")]
    public string BiomeKey { get; set; } = "plains";

    [BsonElement("elevation")]
    public int Elevation { get; set; }

    [BsonElement("locationObject")]
    public VisibleLocationObject? LocationObject { get; set; }

    [BsonElement("floorItems")]
    public List<FloorInventoryItemResponse> FloorItems { get; set; } = [];
}
