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