BuilderExpressionStaticNumberArray class
Пакет: com.hypixel.hytale.server.npc.asset.builder.expression
Файл: com/hypixel/hytale/server/npc/asset/builder/expression/BuilderExpressionStaticNumberArray.java
extends: BuilderExpression
Поля (9)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
BuilderExpressionStaticNumberArray |
INSTANCE_EMPTY |
|
int |
var1 |
|
int |
var1 |
|
int |
var1 |
|
double[] |
var2 |
|
int[] |
var2 |
|
double[] |
var2 |
|
JsonElement |
var4 |
|
JsonPrimitive |
var5 |
Методы (9)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
int[] |
convertDoubleToIntArrayint[] convertDoubleToIntArray(@Nullable double[] var0) |
static |
double[] |
convertIntToDoubleArraydouble[] convertIntToDoubleArray(@Nullable int[] var0) |
private |
void |
createCacheIfAbsentvoid createCacheIfAbsent() |
|
|
for for(int var3 = 0; var3 < var1; var3++) |
|
|
for for(int var3 = 0; var3 < var1; var3++) |
|
|
for for(int var3 = 0; var3 < var1; var3++) |
|
|
if if(this.cachedIntArray == null) |
|
|
if if(var0 == null) |
|
|
if if(var0 == null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.asset.builder.expression;
class="kw">import com.google.gson.JsonArray;
class="kw">import com.google.gson.JsonElement;
class="kw">import com.google.gson.JsonPrimitive;
class="kw">import com.hypixel.hytale.common.util.ArrayUtil;
class="kw">import com.hypixel.hytale.server.npc.util.expression.ExecutionContext;
class="kw">import com.hypixel.hytale.server.npc.util.expression.StdScope;
class="kw">import com.hypixel.hytale.server.npc.util.expression.ValueType;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class BuilderExpressionStaticNumberArray class="kw">extends BuilderExpression {
class="kw">public class="kw">static class="kw">final BuilderExpressionStaticNumberArray INSTANCE_EMPTY = new BuilderExpressionStaticNumberArray(ArrayUtil.EMPTY_DOUBLE_ARRAY);
class="kw">private class="kw">final double[] numberArray;
@Nullable
class="kw">private int[] cachedIntArray;
class="kw">public BuilderExpressionStaticNumberArray(double[] var1) {
this.numberArray = var1;
this.cachedIntArray = null;
}
@Nonnull
@Override
class="kw">public ValueType getType() {
class="kw">return ValueType.NUMBER_ARRAY;
}
@Override
class="kw">public boolean isStatic() {
class="kw">return true;
}
@Override
class="kw">public double[] getNumberArray(ExecutionContext var1) {
class="kw">return this.numberArray;
}
@Override
class="kw">public int[] getIntegerArray(ExecutionContext var1) {
this.createCacheIfAbsent();
class="kw">return this.cachedIntArray;
}
@Override
class="kw">public void addToScope(String var1, @Nonnull StdScope var2) {
var2.addVar(var1, this.numberArray);
}
@Override
class="kw">public void updateScope(@Nonnull StdScope var1, String var2, ExecutionContext var3) {
var1.changeValue(var2, this.numberArray);
}
class="kw">private void createCacheIfAbsent() {
if (this.cachedIntArray == null) {
this.cachedIntArray = convertDoubleToIntArray(this.numberArray);
}
}
@Nullable
class="kw">public class="kw">static BuilderExpressionStaticNumberArray fromJSON(@Nonnull JsonArray var0) {
int var1 = var0.size();
double[] var2 = new double[var1];
for (int var3 = 0; var3 < var1; var3++) {
JsonElement var4 = var0.get(var3);
if (!var4.isJsonPrimitive()) {
class="kw">return null;
}
JsonPrimitive var5 = var4.getAsJsonPrimitive();
if (!var5.isNumber()) {
class="kw">return null;
}
var2[var3] = var5.getAsDouble();
}
class="kw">return new BuilderExpressionStaticNumberArray(var2);
}
class="kw">public class="kw">static int[] convertDoubleToIntArray(@Nullable double[] var0) {
if (var0 == null) {
class="kw">return null;
}
int var1 = var0.length;
int[] var2 = new int[var1];
for (int var3 = 0; var3 < var1; var3++) {
var2[var3] = (int)Math.round(var0[var3]);
}
class="kw">return var2;
}
class="kw">public class="kw">static double[] convertIntToDoubleArray(@Nullable int[] var0) {
if (var0 == null) {
class="kw">return null;
}
int var1 = var0.length;
double[] var2 = new double[var1];
for (int var3 = 0; var3 < var1; var3++) {
var2[var3] = var0[var3];
}
class="kw">return var2;
}
}