using System;
using Newtonsoft.Json;

namespace Jovian.InGameLogging {
    [Serializable]
    public readonly struct LogEntry {
        [JsonProperty] public readonly string message;

        [JsonProperty] [JsonConverter(typeof(LogChannelJsonConverter))]
        public readonly LogChannel channel;

        [JsonProperty] public readonly float gameTime;

        public LogEntry(string message, LogChannel channel, float gameTime) {
            this.message = message;
            this.channel = channel;
            this.gameTime = gameTime;
        }
    }
}
