using System;
using System.Collections.Generic;
using Darkmatter.Core.Enums.Features.Progression;
using UnityEngine;

namespace Darkmatter.Core.Data.Dynamic.Features.Progression
{
    [Serializable]
    public struct DrawingProgress
    {
        public string templateId;
        public DrawingPhase phase;
        public List<string> snappedPieces;
        public List<RegionColorEntry> regionColors;
        public bool hasThumbnail;

        public bool hasBeenCompleted;
        public int completionCount;

        public DateTime UpdatedUtc;
        public DateTime? FirstCompletedUtc;

        public DrawingProgress(string templateId, DrawingPhase phase, List<string> snappedPieces,
            List<RegionColorEntry> regionColors, bool hasThumbnail, bool hasBeenCompleted,
            int completionCount, DateTime updatedUtc, DateTime? firstCompletedUtc)
        {
            this.templateId = templateId;
            this.phase = phase;
            this.snappedPieces = snappedPieces;
            this.regionColors = regionColors;
            this.hasThumbnail = hasThumbnail;
            this.hasBeenCompleted = hasBeenCompleted;
            this.completionCount = completionCount;
            UpdatedUtc = updatedUtc;
            FirstCompletedUtc = firstCompletedUtc;
        }
    }
}