ManiaMap.Godot
Procedural generation of metroidvania style maps for Godot .NET.
TemplateGroup.cs
1using Godot;
2using MPewsey.ManiaMap;
3using System;
4using System.Collections.Generic;
5
7{
11 [Tool]
12 [GlobalClass]
13 public partial class TemplateGroup : Resource
14 {
18 [Export] public string Name { get; set; } = "<None>";
19
23 [Export] public TemplateGroupEntry[] Entries { get; set; } = Array.Empty<TemplateGroupEntry>();
24
29 public TemplateGroupsEntry[] GetMMTemplateGroupEntries(Dictionary<RoomTemplateResource, RoomTemplate> templateCache)
30 {
31 var result = new TemplateGroupsEntry[Entries.Length];
32
33 for (int i = 0; i < Entries.Length; i++)
34 {
35 result[i] = Entries[i].GetMMTemplateGroupsEntry(templateCache);
36 }
37
38 return result;
39 }
40 }
41}
A TemplateGroup entry with a room template and its constraints.
TemplateGroupsEntry GetMMTemplateGroupsEntry(Dictionary< RoomTemplateResource, RoomTemplate > templateCache)
Returns a new ManiaMap template groups entry for use by the procedural generator.
A group of RoomTemplateResource and their procedural generation constraints.
TemplateGroupsEntry[] GetMMTemplateGroupEntries(Dictionary< RoomTemplateResource, RoomTemplate > templateCache)
Returns an array of ManiaMap template groups for the procedural generator.
string Name
The unique group name.
TemplateGroupEntry[] Entries
An array of room templates and constraints.