// ReSharper disable once CheckNamespace
namespace GodotStateCharts
{
using Godot;
using System;
///
/// Wrapper around the GDScript state chart node. Allows interacting with the state chart.
///
public class StateChart : NodeWrapper
{
private StateChart(Node wrapped) : base(wrapped)
{
}
///
/// Creates a wrapper object around the given node and verifies that the node
/// is actually a state chart. The wrapper object can then be used to interact
/// with the state chart from C#.
///
/// the node that is the state chart
/// a StateChart wrapper.
/// ArgumentException if the node is not a state chart.
public static StateChart Of(Node stateChart)
{
if (stateChart.GetScript().As