Esempio n. 1
0
        private void ReadObjects(XmlTextReader reader, Area area)
        {
            Object tempObj = null;

            while (reader.Read())
            {
            if (reader.NodeType == XmlNodeType.Element || reader.NodeType == XmlNodeType.EndElement)
            {
                if(reader.LocalName.Equals("Object") && reader.NodeType == XmlNodeType.Element)
                {
                    tempObj = new Object();
                }

                if(reader.LocalName.Equals("UID") && reader.NodeType == XmlNodeType.Element)
                {
                    tempObj.UID = reader.ReadString();
                }

                if(reader.LocalName.Equals("Name") && reader.NodeType == XmlNodeType.Element)
                {
                    tempObj.Name = reader.ReadString();
                }

                if(reader.LocalName.Equals("ShortDesc") && reader.NodeType == XmlNodeType.Element)
                {
                    tempObj.ShortDesc = reader.ReadString();
                }

                if(reader.LocalName.Equals("Level") && reader.NodeType == XmlNodeType.Element)
                {
                    tempObj.Level = Convert.ToInt32(reader.ReadString());
                }

                if(reader.LocalName.Equals("Object") && reader.NodeType == XmlNodeType.EndElement)
                {
                    area.ObjectList.Add(tempObj.UID,  tempObj);
                }

                if(reader.LocalName.Equals("Objects") && reader.NodeType == XmlNodeType.EndElement)
                {
                    return;
                }
            }
            }
        }
Esempio n. 2
0
        private static void ReadRooms(XmlReader reader, Area area)
        {
            Room tempRoom = null;

            int lastDir = -1;

            while (reader.Read())
            {
            if (reader.NodeType == XmlNodeType.Element || reader.NodeType == XmlNodeType.EndElement)
            {
                if(reader.LocalName.Equals("Room") && reader.NodeType == XmlNodeType.Element)
                {
                    tempRoom = new Room();
                    tempRoom.ParentArea = area;
                }

                if(reader.LocalName.Equals("UID") && reader.NodeType == XmlNodeType.Element)
                {
                    tempRoom.UID = reader.ReadString();
                }

                if(reader.LocalName.Equals("Title") && reader.NodeType == XmlNodeType.Element)
                {
                    tempRoom.Title = reader.ReadString();
                }

                if(reader.LocalName.Equals("Description") && reader.NodeType == XmlNodeType.Element)
                {
                    tempRoom.Description = reader.ReadString();
                    tempRoom.Description = tempRoom.Description.Replace("\n", " ");
                    tempRoom.Description = tempRoom.Description.Replace("\t", "");
                    tempRoom.Description = tempRoom.Description.Replace("  ", "");
                }

                if(reader.LocalName.Equals("North") && reader.NodeType == XmlNodeType.Element)
                {
                    lastDir = Directions.DIR_NORTH;
                    tempRoom.TempExits[Directions.DIR_NORTH] = reader.GetAttribute("uid");
                }

                if(reader.LocalName.Equals("South") && reader.NodeType == XmlNodeType.Element)
                {
                    lastDir = Directions.DIR_SOUTH;
                    tempRoom.TempExits[Directions.DIR_SOUTH] = reader.GetAttribute("uid");
                }

                if(reader.LocalName.Equals("East") && reader.NodeType == XmlNodeType.Element)
                {
                    lastDir = Directions.DIR_EAST;
                    tempRoom.TempExits[Directions.DIR_EAST] = reader.GetAttribute("uid");
                }

                if(reader.LocalName.Equals("West") && reader.NodeType == XmlNodeType.Element)
                {
                    lastDir = Directions.DIR_WEST;
                    tempRoom.TempExits[Directions.DIR_WEST] = reader.GetAttribute("uid");
                }

                if(reader.LocalName.Equals("NorthEast") && reader.NodeType == XmlNodeType.Element)
                {
                    lastDir = Directions.DIR_NORTHEAST;
                    tempRoom.TempExits[Directions.DIR_NORTHEAST] = reader.GetAttribute("uid");
                }

                if(reader.LocalName.Equals("NorthWest") && reader.NodeType == XmlNodeType.Element)
                {
                    lastDir = Directions.DIR_NORTHWEST;
                    tempRoom.TempExits[Directions.DIR_NORTHWEST] = reader.GetAttribute("uid");
                }

                if(reader.LocalName.Equals("SouthEast") && reader.NodeType == XmlNodeType.Element)
                {
                    lastDir = Directions.DIR_SOUTHEAST;
                    tempRoom.TempExits[Directions.DIR_SOUTHEAST] = reader.GetAttribute("uid");
                }

                if(reader.LocalName.Equals("SouthWest") && reader.NodeType == XmlNodeType.Element)
                {
                    lastDir = Directions.DIR_SOUTHWEST;
                    tempRoom.TempExits[Directions.DIR_SOUTHWEST] = reader.GetAttribute("uid");
                }

                if(reader.LocalName.Equals("Up") && reader.NodeType == XmlNodeType.Element)
                {
                    lastDir = Directions.DIR_UP;
                    tempRoom.TempExits[Directions.DIR_UP] = reader.GetAttribute("uid");
                }

                if(reader.LocalName.Equals("Down") && reader.NodeType == XmlNodeType.Element)
                {
                    lastDir = Directions.DIR_DOWN;
                    tempRoom.TempExits[Directions.DIR_DOWN] = reader.GetAttribute("uid");
                }

                if(reader.LocalName.Equals("DoorState") && reader.NodeType == XmlNodeType.Element)
                {
                    tempRoom.DoorStates[lastDir] = (DoorState) Enum.Parse(typeof(DoorState), reader.ReadString());
                }

                if(reader.LocalName.Equals("KeyUID") && reader.NodeType == XmlNodeType.Element)
                {
                    //TODO: implement keys
                }

                if(reader.LocalName.Equals("Room") && reader.NodeType == XmlNodeType.EndElement)
                {
                    area.RoomList.Add(tempRoom.UID, tempRoom);
                    Mud.mudSuroden.WorldSuroden.RoomList.Add(tempRoom.UID, tempRoom);
                }

                if(reader.LocalName.Equals("Rooms") && reader.NodeType == XmlNodeType.EndElement)
                {
                    return;
                }
            }
            }

            return;
        }
Esempio n. 3
0
        public static void ReadResets(XmlReader reader, Area area)
        {
            while(reader.Read())
            {
            if (reader.NodeType == XmlNodeType.Element || reader.NodeType == XmlNodeType.EndElement)
            {
                if(reader.LocalName.Equals("Mob") && reader.NodeType == XmlNodeType.Element)
                {
                    ReadMobResets(reader, area);
                }
                else if(reader.LocalName == "Object" && reader.NodeType == XmlNodeType.Element)
                {
                    ReadObjectResets(reader, area);
                }
                else if(reader.LocalName.Equals("Object") && reader.NodeType == XmlNodeType.Element)
                {

                }
                else if(reader.LocalName.Equals("Resets") && reader.NodeType == XmlNodeType.EndElement)
                {
                    return;
                }
            }
            }
        }
Esempio n. 4
0
        private static void ReadMobs(XmlReader reader, Area area)
        {
            Mob tempMob = null;

            while (reader.Read())
            {
            if (reader.NodeType == XmlNodeType.Element || reader.NodeType == XmlNodeType.EndElement)
            {
                if(reader.LocalName.Equals("Mob") && reader.NodeType == XmlNodeType.Element)
                {
                    tempMob = new Mob();
                }

                if(reader.LocalName.Equals("Mob") && reader.NodeType == XmlNodeType.EndElement)
                {
                    area.MobList.Add(tempMob.UID,  tempMob);
                }

                if(reader.LocalName.Equals("UID") && reader.NodeType == XmlNodeType.Element)
                {
                    tempMob.UID = reader.ReadString();
                }

                if(reader.LocalName.Equals("Name") && reader.NodeType == XmlNodeType.Element)
                {
                    tempMob.Name = reader.ReadString();
                }

                if(reader.LocalName.Equals("ShortDesc") && reader.NodeType == XmlNodeType.Element)
                {
                    tempMob.ShortDesc = reader.ReadString();
                }

                if(reader.LocalName.Equals("Level") && reader.NodeType == XmlNodeType.Element)
                {
                    tempMob.Level = Convert.ToInt32(reader.ReadString());
                }

                if(reader.LocalName.Equals("Gender") && reader.NodeType == XmlNodeType.Element)
                {
                    tempMob.Gender = (Gender) Enum.Parse(typeof(Gender), reader.ReadString(), false);
                }

                if(reader.LocalName.Equals("Mobs") && reader.NodeType == XmlNodeType.EndElement)
                {
                    return;
                }
            }
            }

            return;
        }
Esempio n. 5
0
        public static void ReadObjectResets(XmlReader reader, Area area)
        {
            Reset tempReset = new Reset();
            tempReset.Type = ResetType.ObjectToRoom;

            while(reader.Read())
            {
            if(reader.NodeType == XmlNodeType.Element || reader.NodeType == XmlNodeType.EndElement)
            {
                if(reader.LocalName == "Object" && reader.NodeType == XmlNodeType.EndElement)
                {
                    area.ResetList.Add(tempReset.UID, tempReset);
                    return;
                }
                else if(reader.LocalName.Equals("UID") && reader.NodeType == XmlNodeType.Element)
                {
                    tempReset.UID = reader.ReadString();
                }
                else if(reader.LocalName.Equals("Room") && reader.NodeType == XmlNodeType.Element)
                {
                    tempReset.Room = reader.ReadString();
                }
                else if(reader.LocalName.Equals("LocalLimit") && reader.NodeType == XmlNodeType.Element)
                {
                    tempReset.LocalLimit = Convert.ToInt32(reader.ReadString());
                }
                else if(reader.LocalName.Equals("GlobalLimit") && reader.NodeType == XmlNodeType.Element)
                {
                    tempReset.GlobalLimit = Convert.ToInt32(reader.ReadString());
                }
            }
            }
        }