private void ParseLensFlares(GameObject gameObject, string emitterId, ref List<UnityFlareSystem> lens)
{
var flare = gameObject.GetComponent<BabylonFlareSystem>();
if (flare != null && flare.exportFlare && flare.lensFlares != null && flare.lensFlares.Length > 0)
{
var flareSystem = new UnityFlareSystem();
flareSystem.name = (!String.IsNullOrEmpty(flare.flareName)) ? flare.flareName : String.Format("lensFlareSystem#" + Guid.NewGuid().ToString());
flareSystem.emitterId = emitterId;
flareSystem.borderLimit = flare.borderLimit;
var flareBuffer = new List<UnityFlareItem>();
foreach (var flareItem in flare.lensFlares)
{
var item = new UnityFlareItem();
item.size = flareItem.size;
item.position = flareItem.position;
item.color = flareItem.color.ToFloat();
if (flareItem.texture != null)
{
var babylonTexture = new BabylonTexture();
var texturePath = AssetDatabase.GetAssetPath(flareItem.texture);
CopyTexture(texturePath, flareItem.texture, babylonTexture);
item.textureName = Path.GetFileName(texturePath);
}
flareBuffer.Add(item);
}
flareSystem.lensFlares = flareBuffer.ToArray();
lens.Add(flareSystem);
}
}