diff options
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/data/model')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/data/model/Graph.kt | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/model/Graph.kt b/src/main/java/at/hannibal2/skyhanni/data/model/Graph.kt index 21440197d..8c63be891 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/model/Graph.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/model/Graph.kt @@ -12,29 +12,29 @@ import java.util.PriorityQueue @JvmInline value class Graph( - @Expose val graph: List<GraphNode>, + @Expose val nodes: List<GraphNode>, ) : List<GraphNode> { override val size - get() = graph.size + get() = nodes.size - override fun contains(element: GraphNode) = graph.contains(element) + override fun contains(element: GraphNode) = nodes.contains(element) - override fun containsAll(elements: Collection<GraphNode>) = graph.containsAll(elements) + override fun containsAll(elements: Collection<GraphNode>) = nodes.containsAll(elements) - override fun get(index: Int) = graph.get(index) + override fun get(index: Int) = nodes.get(index) - override fun isEmpty() = graph.isEmpty() + override fun isEmpty() = nodes.isEmpty() - override fun indexOf(element: GraphNode) = graph.indexOf(element) + override fun indexOf(element: GraphNode) = nodes.indexOf(element) - override fun iterator(): Iterator<GraphNode> = graph.iterator() - override fun listIterator() = graph.listIterator() + override fun iterator(): Iterator<GraphNode> = nodes.iterator() + override fun listIterator() = nodes.listIterator() - override fun listIterator(index: Int) = graph.listIterator(index) + override fun listIterator(index: Int) = nodes.listIterator(index) - override fun subList(fromIndex: Int, toIndex: Int) = graph.subList(fromIndex, toIndex) + override fun subList(fromIndex: Int, toIndex: Int) = nodes.subList(fromIndex, toIndex) - override fun lastIndexOf(element: GraphNode) = graph.lastIndexOf(element) + override fun lastIndexOf(element: GraphNode) = nodes.lastIndexOf(element) companion object { val gson = GsonBuilder().setPrettyPrinting().registerTypeAdapter<Graph>( @@ -142,6 +142,10 @@ value class Graph( // The node object that gets parsed from/to json class GraphNode(val id: Int, val position: LorenzVec, val name: String? = null, val tagNames: List<String>? = null) { + val tags: List<GraphNodeTag> by lazy { + tagNames?.mapNotNull { GraphNodeTag.byId(it) } ?: emptyList() + } + /** Keys are the neighbours and value the edge weight (e.g. Distance) */ lateinit var neighbours: Map<GraphNode, Double> |
