private static SceneAddCommandInfo LoadAddCommand(XElement node)
        {
            var info     = new SceneAddCommandInfo();
            var nameAttr = node.Attribute("name");

            if (nameAttr != null)
            {
                info.Name = nameAttr.Value;
            }
            info.Object = node.RequireAttribute("object").Value;
            info.X      = node.GetAttribute <int>("x");
            info.Y      = node.GetAttribute <int>("y");
            return(info);
        }
        private void AddCommand(SceneAddCommandInfo command)
        {
            var obj = Info.Objects[command.Object];

            IHandlerObject handler = null;

            if (obj is HandlerSpriteInfo)
            {
                handler = new HandlerSprite(((HandlerSpriteInfo)obj).Sprite, new Point(command.X, command.Y));
            }
            else if (obj is MeterInfo)
            {
                handler = new HandlerMeter(HealthMeter.Create((MeterInfo)obj, false), this);
            }
            handler.Start();
            var name = command.Name ?? Guid.NewGuid().ToString();

            if (!objects.ContainsKey(name))
            {
                objects.Add(name, handler);
            }
        }