本文整理汇总了Java中org.jbox2d.serialization.SerializationHelper类的典型用法代码示例。如果您正苦于以下问题:Java SerializationHelper类的具体用法?Java SerializationHelper怎么用?Java SerializationHelper使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SerializationHelper类属于org.jbox2d.serialization包,在下文中一共展示了SerializationHelper类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: serializeWorld
import org.jbox2d.serialization.SerializationHelper; //导入依赖的package包/类
public PbWorld.Builder serializeWorld(World argWorld) {
final PbWorld.Builder builder = PbWorld.newBuilder();
if (signer != null) {
Long tag = signer.getTag(argWorld);
if (tag != null) {
builder.setTag(tag);
}
}
builder.setGravity(vecToPb(argWorld.getGravity()));
builder.setAllowSleep(argWorld.isAllowSleep());
builder.setContinuousPhysics(argWorld.isContinuousPhysics());
builder.setWarmStarting(argWorld.isWarmStarting());
builder.setSubStepping(argWorld.isSubStepping());
Body cbody = argWorld.getBodyList();
int cnt = 0;
HashMap<Body, Integer> bodies = new HashMap<Body, Integer>();
while (cbody != null) {
builder.addBodies(serializeBody(cbody));
bodies.put(cbody, cnt);
cnt++;
cbody = cbody.m_next;
}
cnt = 0;
HashMap<Joint, Integer> joints = new HashMap<Joint, Integer>();
Joint cjoint = argWorld.getJointList();
// first pass
while (cjoint != null) {
if (SerializationHelper.isIndependentJoint(cjoint.getType())) {
builder.addJoints(serializeJoint(cjoint, bodies, joints));
joints.put(cjoint, cnt);
cnt++;
}
cjoint = cjoint.m_next;
}
// second pass for dependent joints
cjoint = argWorld.getJointList();
while (cjoint != null) {
if (!SerializationHelper.isIndependentJoint(cjoint.getType())) {
builder.addJoints(serializeJoint(cjoint, bodies, joints));
joints.put(cjoint, cnt);
cnt++;
}
cjoint = cjoint.m_next;
}
return builder;
}