コード例 #1
0
        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);
        }
コード例 #2
0
 public KHR_LightsPunctualNodeExtension(int lightId, GLTFRoot gltfRoot)
 {
     LightId = new PunctualLightId
     {
         Id   = lightId,
         Root = gltfRoot
     };
 }
コード例 #3
0
 public KHR_LightsPunctualNodeExtension(PunctualLightId lightId, GLTFRoot gltfRoot)
 {
     LightId = lightId;
 }
コード例 #4
0
 public PunctualLightId(PunctualLightId id, GLTFRoot newRoot) : base(id, newRoot)
 {
 }