fix: Fixes codegenned spawners and adds RunUO spawner import support (#1682)
> [!IMPORTANT] > This code change includes important fixes for all spawners after they were converted to codegen! > [!NOTE] > **Developer Note** > Usage/Description/Aliases attributes were moved to the core so they can be used by the command registration system. ### Summary - **Fixes spawners not registering their spawns on world load** - Changes `[GenerateSpawners` to `[ImportSpawners` - Removes `ConvertPremiumSpawners` - Adds Premium spawner import support to `[ImportSpawners` - Adds RunUO XML import support: https://github.com/ruaduck/xmlspawner/blob/ServUOMaster/XmlSpawner/XmlSpawner%20Core/SpawnerExporter.cs - Fixed an issue where not manually registering an alias meant it wasn't available as a command
This commit is contained in:
parent
cc064a27a5
commit
d0d7be8de0
12 changed files with 568 additions and 522 deletions
|
|
@ -76,14 +76,20 @@ public partial class SpawnerEntry
|
|||
|
||||
if (e != null)
|
||||
{
|
||||
e.Spawner = _parent;
|
||||
|
||||
Spawned.Add(e);
|
||||
_parent.Spawned.TryAdd(e, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[AfterDeserialization]
|
||||
private void AfterDeserialization()
|
||||
{
|
||||
foreach (var e in Spawned)
|
||||
{
|
||||
e.Spawner = _parent;
|
||||
}
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
public EntryFlags Valid { get; set; }
|
||||
|
||||
|
|
@ -99,6 +105,7 @@ public partial class SpawnerEntry
|
|||
if (parent.OnDefragSpawn(spawned, false))
|
||||
{
|
||||
Spawned.RemoveAt(i--);
|
||||
_parent.MarkDirty();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue