Exemplo n.º 1
0
        public IComponentInfo Load(XElement node, Project project)
        {
            var comp = new WeaponComponentInfo();

            comp.Weapons = node.Elements("Weapon")
                           .Select(x => {
                var w = new WeaponInfo()
                {
                    Name       = x.GetAttribute <string>("name"),
                    EntityName = x.GetAttribute <string>("entity"),
                    Ammo       = x.TryAttribute <int?>("ammo"),
                    Usage      = x.TryAttribute <int?>("usage"),
                    Palette    = x.TryAttribute <int?>("palette")
                };

                var meterNode = x.Element("Meter");
                if (meterNode != null)
                {
                    w.Meter = _meterReader.LoadMeter(meterNode, project.BaseDir);
                }

                return(w);
            })
                           .ToList();

            return(comp);
        }
        public IComponentInfo Load(XElement node, Project project)
        {
            var comp = new HealthComponentInfo();

            comp.Max = node.TryAttribute <float>("max", node.TryElementValue <float>("Max"));

            comp.StartValue = node.TryAttribute <float?>("startValue");

            XElement meterNode = node.Element("Meter");

            if (meterNode != null)
            {
                comp.Meter = _meterReader.LoadMeter(meterNode, project.BaseDir);
            }

            comp.FlashFrames = node.TryAttribute("flash", node.TryElementValue <int>("Flash"));

            return(comp);
        }
        protected void LoadBase(HandlerInfo handler, XElement node, string basePath)
        {
            handler.Name = node.RequireAttribute("name").Value;

            var spriteLoader = new SpriteXmlReader();
            foreach (var spriteNode in node.Elements("Sprite"))
            {
                var info = new HandlerSpriteInfo();
                info.Sprite = spriteLoader.LoadSprite(spriteNode, basePath);
                handler.Objects.Add(info.Name, info);
            }

            var meterLoader = new MeterXmlReader(new SceneBindingXmlReader());
            foreach (var meterNode in node.Elements("Meter"))
            {
                var meter = meterLoader.LoadMeter(meterNode, basePath);
                handler.Objects.Add(meter.Name, meter);
            }
        }
Exemplo n.º 4
0
        protected void LoadBase(HandlerInfo handler, XElement node, string basePath)
        {
            handler.Name = node.RequireAttribute("name").Value;

            var spriteLoader = new SpriteXmlReader();

            foreach (var spriteNode in node.Elements("Sprite"))
            {
                var info = new HandlerSpriteInfo();
                info.Sprite = spriteLoader.LoadSprite(spriteNode, basePath);
                handler.Objects.Add(info.Name, info);
            }

            var meterLoader = new MeterXmlReader(new SceneBindingXmlReader());

            foreach (var meterNode in node.Elements("Meter"))
            {
                var meter = meterLoader.LoadMeter(meterNode, basePath);
                handler.Objects.Add(meter.Name, meter);
            }
        }