﻿using System;
using JLGames.RocketDriver.Actions.Service;
using UnityEditor.Experimental.GraphView;
using UnityEngine;

namespace JLGames.RocketDriver.Editor.Windows.Main.Service
{
    public sealed class ServiceNodeView : Node
    {
        public Action<ServiceNodeView> OnNodeSelected;
        public ServiceNode NodeData;

        public ServiceNodeView(ServiceNode nodeData)
        {
            NodeData = nodeData;
            viewDataKey = nodeData.Uid;
            title = nodeData.ServiceName;
//            title = nodeData.Uid;
            style.left = nodeData.Position.x;
            style.top = nodeData.Position.y;
        }

        public override void SetPosition(Rect newPos)
        {
            base.SetPosition(newPos);
            NodeData.PositionX = newPos.xMin;
            NodeData.PositionY = newPos.yMin;
        }

        public override void OnSelected()
        {
            base.OnSelected();
            OnNodeSelected?.Invoke(this);
        }
    }
}