/*
<copyright file="BGGCLoad.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: load")]
    [Category("BansheeGz/load")]
    [Serializable]
    public class BGGCLoad : BGGCFileBasedA
    {
        protected override string FileExt => "sav";
        public override string Title => "BGDatabase: Load";

        protected override Task Run(Args args)
        {
            var path = GetPath(args);
            if (string.IsNullOrEmpty(path)) Debug.Log("WARNING! BGDatabase: can not load a game, cause filename is null!");
            else if (!File.Exists(path)) Debug.Log("WARNING! BGDatabase: can not load a game, cause file does not exist!");
            else BGRepo.I.Addons.Get<BGAddonSaveLoad>().Load(File.ReadAllBytes(path));
            return DefaultResult;
        }
       
    }
}