/*
<copyright file="BGGCSave.cs" company="BansheeGz">
    Copyright (c) 2018-2022 All Rights Reserved
</copyright>
*/


using System;
using System.IO;
using System.Threading.Tasks;
using GameCreator.Runtime.Common;
using UnityEngine;

namespace BansheeGz.BGDatabase
{
    /// <summary>
    /// support for saveload addon https://www.bansheegz.com/BGDatabase/Addons/SaveLoad/ 
    /// </summary>
    [Title("BGDatabase: save")]
    [Category("BansheeGz/save")]
    [Serializable]
    public class BGGCSave : BGGCFileBasedA
    {
        protected override string FileExt => "sav";
        public override string Title => "BGDatabase: Save";

        protected override Task Run(Args args)
        {
            var path = GetPath(args);
            if (string.IsNullOrEmpty(path)) Debug.Log("WARNING! BGDatabase: can not save a game, cause filename is null!");
            else File.WriteAllBytes(path, BGRepo.I.Addons.Get<BGAddonSaveLoad>().Save());

            return DefaultResult;
        }
 
    }
}