Interesting...
var t = LightSource.Type.ToString(); -- does return point
---
If you look at the actual DarkGDK wrapper code, you will find that the implementation for SetSpotLight, SetPointLight, and SetDirectionalLight vary by one detail...
public void SetDirectionalLight(float x, float y, float z)
{
CDarkGDK.oDBLight.SetDirectionalLight(this.Id, x, y, z);
}
public void SetPointLight(float x, float y, float z)
{
CDarkGDK.oDBLight.SetPointLight(this.Id, x, y, z);
}
public void SetSpotLight(float inner, float outer)
{
CDarkGDK.oDBLight.SetSpotLight(0, inner, outer);
}
Why does the signature of SetSpotLight have a parameter of 0 instead of this.Id? Clearly the expected argument to AdditionalLight is expecting the ID...
public AdditionalLight()
{
this.Id = AdditionalLight.idManager.GetNextId();
CDarkGDK.oDBLight.MakeLight(this.Id);
}