public FDatasmithFacadeActor GetActor(int ActorIndex)
    {
        global::System.IntPtr objectPtr = DatasmithFacadeCSharpPINVOKE.FDatasmithFacadeScene_GetActor(swigCPtr, ActorIndex);
        if (objectPtr == global::System.IntPtr.Zero)
        {
            return(null);
        }
        else
        {
            FDatasmithFacadeActor.EActorType ActorType = (new FDatasmithFacadeActor(objectPtr, false)).GetActorType();

            switch (ActorType)
            {
            case FDatasmithFacadeActor.EActorType.DirectionalLight:
                return(new FDatasmithFacadeDirectionalLight(objectPtr, true));

            case FDatasmithFacadeActor.EActorType.AreaLight:
                return(new FDatasmithFacadeAreaLight(objectPtr, true));

            case FDatasmithFacadeActor.EActorType.LightmassPortal:
                return(new FDatasmithFacadeLightmassPortal(objectPtr, true));

            case FDatasmithFacadeActor.EActorType.PointLight:
                return(new FDatasmithFacadePointLight(objectPtr, true));

            case FDatasmithFacadeActor.EActorType.SpotLight:
                return(new FDatasmithFacadeSpotLight(objectPtr, true));

            case FDatasmithFacadeActor.EActorType.StaticMeshActor:
                return(new FDatasmithFacadeActorMesh(objectPtr, true));

            case FDatasmithFacadeActor.EActorType.Camera:
                return(new FDatasmithFacadeActorCamera(objectPtr, true));

            case FDatasmithFacadeActor.EActorType.Actor:
                return(new FDatasmithFacadeActor(objectPtr, true));

            case FDatasmithFacadeActor.EActorType.Unsupported:
            default:
                return(null);
            }
        }
    }
예제 #2
0
 public FDatasmithFacadeActor.EActorType GetActorType()
 {
     FDatasmithFacadeActor.EActorType ret = (FDatasmithFacadeActor.EActorType)DatasmithFacadeCSharpPINVOKE.FDatasmithFacadeActor_GetActorType(swigCPtr);
     return(ret);
 }