示例#1
0
        private static bool DeleteSpawner(string id)
        {
            if (id == null)
            {
                return(false);
            }

            XmlSpawner spawner = World.Items.Values.OfType <XmlSpawner>().FirstOrDefault(s => s.UniqueId == id);

            if (spawner != null)
            {
                spawner.Delete();
                return(true);
            }

            return(false);
        }
示例#2
0
        private static bool ConvertSpawner(XmlSpawner spawner, DataRow d, ref int keep)
        {
            if (spawner != null)
            {
                SpawnObject[] spawns = new SpawnObject[spawner.SpawnObjects.Length];

                for (int i = 0; i < spawner.SpawnObjects.Length; i++)
                {
                    var obj = spawner.SpawnObjects[i];

                    if (obj == null || obj.TypeName == null)
                    {
                        continue;
                    }

                    spawns[i] = new SpawnObject(obj.TypeName, obj.MaxCount);
                }

                if (HasSpecialXmlSpawnerString(spawns))
                {
                    keep++;
                    return(false);
                }

                Spawner newSpawner = new Spawner(spawner.MaxCount,
                                                 spawner.MinDelay,
                                                 spawner.MaxDelay,
                                                 spawner.Team,
                                                 spawner.SpawnRange,
                                                 spawns.ToList());

                newSpawner.Group   = spawner.Group;
                newSpawner.Running = spawner.Running;

                newSpawner.MoveToWorld(spawner.Location, spawner.Map);
                spawner.Delete();
                return(true);
            }

            return(false);
        }