﻿/*
<copyright file="BGGCGetNumber.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 float/int from database
    /// </summary>
    [Title("BGDatabase: get number")]
    [Category("BansheeGz/get number")]
    [Serializable]
    public class BGGCGetNumber : BGGCGetA
    {
        [SerializeField] private PropertySetNumber saveToVar = SetNumberGlobalName.Create;

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

        public override bool IsSupported(BGField field) =>  field is BGFieldInt || field is BGFieldFloat;

        protected override void Set(BGGCCell cell, Args args)
        {
            if(cell.field is BGFieldInt) saveToVar.Set((int)cell.Value, args);
            else if(cell.field is BGFieldFloat) saveToVar.Set((float)cell.Value, args);
        }
    }
}