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

using System;
using GameCreator.Runtime.Common;
using GameCreator.Runtime.Variables;
using UnityEngine;

namespace BansheeGz.BGDatabase
{
    /// <summary>
    ///  get GameObject from database
    /// </summary>
    [Title("BGDatabase: get GameObject")]
    [Category("BansheeGz/get GameObject")]
    [Serializable]
    public class BGGCGetGameObject : BGGCGetA
    {
        [SerializeField] private PropertySetGameObject saveToVar = SetGameObjectGlobalName.Create;

        public override string Title => "BGDatabase: Get GameObject";

        public override bool IsSupported(BGField field) => field is BGFieldUnityPrefab;

        protected override void Set(BGGCCell cell, Args args) => saveToVar.Set((GameObject)cell.Value, args);
    }
}