public override IExtension Deserialize(GLTFRoot root, JProperty extensionToken) { if (extensionToken != null) { JToken lightsToken = extensionToken.Value[PNAME_LIGHTS]; if (lightsToken != null) { var extension = new KHR_LightsPunctualExtension(); JArray lightsArray = lightsToken as JArray; foreach (var lightToken in lightsArray.Children()) { extension.Lights.Add(PunctualLight.Deserialize(root, lightToken)); } return(extension); } JToken nodelightToken = extensionToken.Value[PNAME_LIGHT]; if (nodelightToken != null) { PunctualLightId lightId = PunctualLightId.Deserialize(root, nodelightToken.CreateReader()); return(new KHR_LightsPunctualNodeExtension(lightId, root)); } } return(null); }
public IExtension Clone(GLTFRoot root) { var clone = new KHR_LightsPunctualExtension(); for (int i = 0; i < Lights.Count; i++) { clone.Lights.Add(new PunctualLight(Lights[i], root)); } return(clone); }