AngleEdgeSelectorAsset class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.assets.graph.edgeselectors
Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/graph/edgeselectors/AngleEdgeSelectorAsset.java
extends: EdgeSelectorAsset
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
|
VectorProvider |
var2 |
|
List |
var3 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
return new |
AngleEdgeSelectorreturn new AngleEdgeSelector(var2, var3) |
|
|
for for(RangeDoubleAsset var7 : this.delimiterAssets) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.assets.graph.edgeselectors;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.delimiters.RangeDoubleAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.graph.GraphGeneratorAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.vectorproviders.ConstantVectorProviderAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assets.vectorproviders.VectorProviderAsset;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.delimiters.RangeDouble;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.edgeselectors.AllEdgeSelector;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.edgeselectors.AngleEdgeSelector;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.edgeselectors.EdgeSelector;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.vectorproviders.VectorProvider;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
class="kw">import java.util.ArrayList;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">public class AngleEdgeSelectorAsset class="kw">extends EdgeSelectorAsset {
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<AngleEdgeSelectorAsset> CODEC = BuilderCodec.builder(
AngleEdgeSelectorAsset.class, AngleEdgeSelectorAsset::new, EdgeSelectorAsset.ABSTRACT_CODEC
)
.append(
new KeyedCodec<>("Reference", VectorProviderAsset.CODEC, true),
(var0, var1) -> var0.referenceVectorProviderAsset = var1,
var0 -> var0.referenceVectorProviderAsset
)
.add()
.append(
new KeyedCodec<>("Delimiters", new ArrayCodec<>(RangeDoubleAsset.CODEC, RangeDoubleAsset[]::new), true),
(var0, var1) -> var0.delimiterAssets = var1,
var0 -> var0.delimiterAssets
)
.add()
.build();
@Nonnull
class="kw">private VectorProviderAsset referenceVectorProviderAsset = ConstantVectorProviderAsset.INSTANCE;
@Nonnull
class="kw">private RangeDoubleAsset[] delimiterAssets = new RangeDoubleAsset[0];
class="kw">public AngleEdgeSelectorAsset() {
}
@Nonnull
@Override
class="kw">public EdgeSelector build(@Nonnull GraphGeneratorAsset.Argument var1) {
if (super.skip()) {
class="kw">return AllEdgeSelector.INSTANCE;
}
VectorProvider var2 = this.referenceVectorProviderAsset.build(new VectorProviderAsset.Argument(var1));
List var3 = new ArrayList<>(this.delimiterAssets.length);
for (RangeDoubleAsset var7 : this.delimiterAssets) {
var3.add(var7.build());
}
class="kw">return new AngleEdgeSelector(var2, var3);
}
@Override
class="kw">public void cleanUp() {
this.referenceVectorProviderAsset.cleanUp();
}
}