Пример #1
0
 public Level(string name, AbstractMapGenerator mapGenerator,
              int levelWidth, int levelHeight)
 {
     this.name         = name;
     this.mapGenerator = mapGenerator;
     this.levelWidth   = levelWidth;
     this.levelHeight  = levelHeight;
 }
Пример #2
0
 public override void FromXml(XmlElement element)
 {
     base.FromXml(element);
     persistent       = GetBoolAttribute(PERSISTENT);
     bidirectional    = GetBoolAttribute(BIDIRECTIONAL);
     name             = GetStringAttribute(NAME);
     levelWidth       = GetIntAttribute(LEVEL_WIDTH);
     levelHeight      = GetIntAttribute(LEVEL_HEIGHT);
     danger           = GetIntAttribute(DANGER);
     map              = GetElement(MAP) as Map;
     mapGenerator     = GetElement(MAP_GENERATOR) as AbstractMapGenerator;
     mapGenerator.Map = map;
     monsters         = GetElements <Monster>(MONSTERS);
     items            = GetElements <Item>(ITEMS);
     upPassages       = GetElements <Passage>(UP_PASSAGES);
     downPassages     = GetElements <Passage>(DOWN_PASSAGES);
 }
Пример #3
0
        private Level createLevel(XmlNode levelNode)
        {
            string name = levelNode.Attributes[NAME].Value;;
            AbstractMapGenerator generator = getMapGenerator(levelNode);
            int width;
            int height;

            if (levelNode.Attributes[WIDTH] != null)
            {
                width = int.Parse(levelNode.Attributes[WIDTH].Value);
            }
            else
            {
                width = defaultWidth;
            }
            if (levelNode.Attributes[HEIGHT] != null)
            {
                height = int.Parse(levelNode.Attributes[HEIGHT].Value);
            }
            else
            {
                height = defaultHeight;
            }
            Level level = new Level(name, generator, width, height);

            if (levelNode.Attributes[DANGER] != null)
            {
                level.Danger = int.Parse(levelNode.Attributes[DANGER].Value);
            }
            if (levelNode.Attributes[BIDIRECTIONAL] != null)
            {
                level.Bidirectional = bool.Parse(levelNode.Attributes[BIDIRECTIONAL].Value);
            }
            if (levelNode.Attributes[PERSISTENT] != null)
            {
                level.Persistent = bool.Parse(levelNode.Attributes[PERSISTENT].Value);
            }
            return(level);
        }
Пример #4
0
 public Level(string name, AbstractMapGenerator levelGenerator,
              int levelWidth, int levelHeight, int danger)
     : this(name, levelGenerator, levelWidth, levelHeight)
 {
     this.danger = danger;
 }