public SceneCommandInfo Load(XElement node, string basePath)
        {
            var info = new MenuOptionCommandInfo();

            var nameAttr = node.Attribute("name");
            if (nameAttr != null)
            {
                info.Name = nameAttr.Value;
            }

            info.X = node.GetAttribute<int>("x");
            info.Y = node.GetAttribute<int>("y");

            var onNode = node.Element("On");
            if (onNode != null)
            {
                info.OnEvent = _commandReader.LoadCommands(onNode, basePath);
            }

            var offNode = node.Element("Off");
            if (offNode != null)
            {
                info.OffEvent = _commandReader.LoadCommands(offNode, basePath);
            }

            var selectNode = node.Element("Select");
            if (selectNode != null)
            {
                info.SelectEvent = _commandReader.LoadCommands(selectNode, basePath);
            }

            return info;
        }
        public static MenuOptionCommandInfo FromXml(XElement node, string basePath)
        {
            var info = new MenuOptionCommandInfo();
            info.X = node.GetInteger("x");
            info.Y = node.GetInteger("y");

            var onNode = node.Element("On");
            if (onNode != null)
            {
                info.OnEvent = SceneCommandInfo.Load(onNode, basePath);
            }

            var offNode = node.Element("Off");
            if (offNode != null)
            {
                info.OffEvent = SceneCommandInfo.Load(offNode, basePath);
            }

            var selectNode = node.Element("Select");
            if (selectNode != null)
            {
                info.SelectEvent = SceneCommandInfo.Load(selectNode, basePath);
            }

            return info;
        }