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


using System.IO;
using GameCreator.Core;
using GameCreator.Variables;
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;

#endif

namespace BansheeGz.BGDatabase
{
    /// <summary>
    /// support for saveload addon https://www.bansheegz.com/BGDatabase/Addons/SaveLoad/ 
    /// </summary>
    public class BGGCSave : BGGCFileBasedA
    {
        protected override string FileExt => "sav";

        public override bool InstantExecute(GameObject target, IAction[] actions, int index)
        {
            var path = GetPath(target);
            if (string.IsNullOrEmpty(path))
            {
                Debug.Log("WARNING! BGDatabase: can not save a game, cause filename is null!");
                return true;

            }
            var save = BGRepo.I.Addons.Get<BGAddonSaveLoad>().Save();
            File.WriteAllBytes(path, save);
            return true;
        }
        // +--------------------------------------------------------------------------------------+
        // | EDITOR                                                                               |
        // +--------------------------------------------------------------------------------------+

#if UNITY_EDITOR
        public static new string NAME = "BansheeGz/Save";
        protected override string Title => "BGDatabase: Save";
#endif
    }
}