use of com.talosvfx.talos.runtime.modules.VectorFieldModule in project talos by rockbite.
the class TalosProject method setToExportData.
private void setToExportData(ExportData data, ModuleBoardWidget moduleBoardWidget) {
final ObjectMap<ParticleEmitterWrapper, Array<ModuleWrapper>> moduleWrappers = moduleBoardWidget.moduleWrappers;
final ObjectMap<ParticleEmitterWrapper, Array<ModuleBoardWidget.NodeConnection>> nodeConnections = moduleBoardWidget.nodeConnections;
for (ParticleEmitterWrapper key : moduleWrappers.keys()) {
final ExportData.EmitterExportData emitterData = new ExportData.EmitterExportData();
emitterData.name = key.getName();
for (ModuleWrapper wrapper : moduleWrappers.get(key)) {
emitterData.modules.add(wrapper.getModule());
if (wrapper.getModule() instanceof TextureModule) {
TextureModule textureModule = (TextureModule) wrapper.getModule();
String name = textureModule.regionName;
if (name == null)
name = "fire";
if (!data.metadata.resources.contains(name, false)) {
data.metadata.resources.add(name);
}
}
if (wrapper.getModule() instanceof PolylineModule) {
PolylineModule module = (PolylineModule) wrapper.getModule();
String name = module.regionName;
if (name == null)
name = "fire";
if (!data.metadata.resources.contains(name, false)) {
data.metadata.resources.add(name);
}
}
if (wrapper.getModule() instanceof VectorFieldModule) {
VectorFieldModule vectorFieldModule = (VectorFieldModule) wrapper.getModule();
String fgaFileName = vectorFieldModule.fgaFileName;
if (fgaFileName == null) {
return;
}
fgaFileName = fgaFileName + ".fga";
if (!data.metadata.resources.contains(fgaFileName, false)) {
data.metadata.resources.add(fgaFileName);
}
}
}
final Array<ModuleBoardWidget.NodeConnection> nodeConns = nodeConnections.get(key);
if (nodeConns != null) {
for (ModuleBoardWidget.NodeConnection nodeConn : nodeConns) {
emitterData.connections.add(new ConnectionData(nodeConn.fromModule.getModule().getIndex(), nodeConn.toModule.getModule().getIndex(), nodeConn.fromSlot, nodeConn.toSlot));
}
}
data.emitters.add(emitterData);
}
}
Aggregations