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

using GameCreator.Core;
using GameCreator.Variables;
using UnityEngine;

namespace BansheeGz.BGDatabase
{
    /// <summary>
    /// abstract database getter
    /// </summary>
    public abstract class BGGCGetA : BGGCCellA
    {

        public abstract VariableProperty TargetVariable { get; }
    
        public override bool InstantExecute(GameObject target, IAction[] actions, int index)
        {
            var variable = TargetVariable;
            if (variable == null)
            {
                Debug.Log("WARNING! BGDatabase: can not access variable!");
                return true;
            }
            var cell = GetCell(target);
            if (cell == null)
            {
                Debug.Log("WARNING! BGDatabase: can not access a target cell!");
                return true;
            }
            variable.Set(cell.Value.Value, target);
            return true;
        }

    }
}
