tags[i] = field.getAnnotation(Tag.class).value(); if (i > 0 && tags[i] == tags[i-1]) // This check relies on fields having been sorted throw new KryoException(String.format("The fields [%s] and [%s] both have a Tag value of %d.", field, fields[i-1].getField(), tags[i])); writeFieldCount--; if (field.getAnnotation(Tag.class).annexed()) annexed[i] = true;
@Tag(0) private long id; @Tag(1) private String name; @Tag(2) private List<GameObjectDescriptor> gameObjects; @Tag(3) private FogDescriptor fog; @Tag(4) private BaseLightDescriptor ambientLight; @Tag(5) private float camPosX; @Tag(6) private float camPosY; @Tag(7) private float camPosZ; @Tag(8) private float camDirX = 0; @Tag(9) private float camDirY = 0; @Tag(10) private float camDirZ = 0;
@Tag(0) private int id; @Tag(1) private String name; @Tag(2) private boolean active; @Tag(3) private float[] transform = new float[10]; @Tag(4) private List<String> tags; @Tag(5) private List<GameObjectDescriptor> childs; @Tag(6) private ModelComponentDescriptor modelComponent; @Tag(7) private TerrainComponentDescriptor terrainComponent;
@Tag( 0 ) public String name; @Tag( 1 ) public boolean deleted; @Tag( 2 ) public long lastModifiedTime; @Tag( 3 ) public long size; @Tag( 4 ) public boolean isDir; @Tag( 5 ) public long lastAccessTime; @Tag( 6 ) public long creationTime; @Tag( 7 ) public boolean pinned; @Tag( 8 ) public long version; @Tag( 9 ) public List<String> ids; @Tag( 10 ) public List<SaveState> saved; @Tag( 11 ) public List<UUID> kids;
/*** * @author Marcus Brummer * @version 07-06-2016 */ public class ProjectRefDescriptor { @Tag(0) private String name; @Tag(1) private String path; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPath() { return path; } public void setPath(String path) { this.path = path; } }
protected void initializeCachedFields () { CachedField[] fields = getFields(); // Remove untagged fields. for (int i = 0, n = fields.length; i < n; i++) { Field field = fields[i].getField(); if (field.getAnnotation(Tag.class) == null) { if (TRACE) trace("kryo", "Ignoring field without tag: " + fields[i]); super.removeField(field.getName()); } } // Cache tag values. fields = getFields(); tags = new int[fields.length]; deprecated = new boolean[fields.length]; writeFieldCount = fields.length; for (int i = 0, n = fields.length; i < n; i++) { Field field = fields[i].getField(); tags[i] = field.getAnnotation(Tag.class).value(); if (field.getAnnotation(Deprecated.class) != null) { deprecated[i] = true; writeFieldCount--; } } }
/** * Created by marcus on 07/06/16. */ public class SettingsDescriptor { @Tag(0) private String fbxConvBinary = ""; @Tag(1) private KeyboardLayout keyboardLayout; public String getFbxConvBinary() { return fbxConvBinary; } public void setFbxConvBinary(String fbxConvBinary) { this.fbxConvBinary = fbxConvBinary; } public KeyboardLayout getKeyboardLayout() { return keyboardLayout; } public void setKeyboardLayout(KeyboardLayout keyboardLayout) { this.keyboardLayout = keyboardLayout; } }
protected void initializeCachedFields () { CachedField[] fields = getFields(); // Remove untagged fields. for (int i = 0, n = fields.length; i < n; i++) { Field field = fields[i].getField(); if (field.getAnnotation(Tag.class) == null) { if (TRACE) trace("kryo", "Ignoring field without tag: " + fields[i]); super.removeField(fields[i]); } } // Cache tag values. fields = getFields(); tags = new int[fields.length]; deprecated = new boolean[fields.length]; writeFieldCount = fields.length; for (int i = 0, n = fields.length; i < n; i++) { Field field = fields[i].getField(); tags[i] = field.getAnnotation(Tag.class).value(); if (field.getAnnotation(Deprecated.class) != null) { deprecated[i] = true; writeFieldCount--; } } this.removedFields.clear(); }
/** * @author Marcus Brummer * @version 04-03-2016 */ public class BaseLightDescriptor { @Tag(0) private float intensity; @Tag(1) private int color; public float getIntensity() { return intensity; } public void setIntensity(float intensity) { this.intensity = intensity; } public int getColor() { return color; } public void setColor(int color) { this.color = color; } }
/** * @author Marcus Brummer * @version 18-01-2016 */ public class ModelComponentDescriptor { @Tag(0) private String modelID; @Tag(1) private HashMap<String, String> materials; // g3db material id to material asset uuid public ModelComponentDescriptor() { this.materials = new HashMap<>(); } public HashMap<String, String> getMaterials() { return materials; } public String getModelID() { return modelID; } public void setModelID(String modelID) { this.modelID = modelID; } }
tags[i] = field.getAnnotation(Tag.class).value(); if (i > 0 && tags[i] == tags[i-1]) // This check relies on fields having been sorted throw new KryoException(String.format("The fields [%s] and [%s] both have a Tag value of %d.", field, fields[i-1].getField(), tags[i])); writeFieldCount--; if (field.getAnnotation(Tag.class).annexed()) annexed[i] = true;
/** * @author Marcus Brummer * @version 18-01-2016 */ public class TerrainComponentDescriptor { @Tag(0) private String terrainID; public String getTerrainID() { return terrainID; } public void setTerrainID(String id) { this.terrainID = id; } }