Search in sources :

Example 1 with ModifiableValue

use of org.terasology.engine.utilities.modifiable.ModifiableValue in project Terasology by MovingBlocks.

the class ModifiableValueTypeHandler method deserialize.

@Override
public Optional<ModifiableValue> deserialize(PersistedData data) {
    if (data.isArray()) {
        PersistedDataArray vals = data.getAsArray();
        if (vals.isNumberArray()) {
            TFloatList floatList = vals.getAsFloatArray();
            ModifiableValue modifiableValue = new ModifiableValue(floatList.get(0));
            if (floatList.size() == 4) {
                modifiableValue.setPreModifier(floatList.get(1));
                modifiableValue.setMultiplier(floatList.get(2));
                modifiableValue.setPostModifier(floatList.get(3));
            }
            return Optional.of(modifiableValue);
        }
    }
    return Optional.empty();
}
Also used : PersistedDataArray(org.terasology.persistence.typeHandling.PersistedDataArray) ModifiableValue(org.terasology.engine.utilities.modifiable.ModifiableValue) TFloatList(gnu.trove.list.TFloatList)

Aggregations

TFloatList (gnu.trove.list.TFloatList)1 ModifiableValue (org.terasology.engine.utilities.modifiable.ModifiableValue)1 PersistedDataArray (org.terasology.persistence.typeHandling.PersistedDataArray)1