public override void Convert(Node unrealNode, SceneBuilder builder, Node parentUnrealNode, GameObject parentGameObject) { var nodeAsT = unrealNode as T; if (nodeAsT == null) { // FIXME: throw new System.Exception("Unexpected node type"); } CreateComponent(builder, nodeAsT, parentUnrealNode, parentGameObject); }
public override void Convert(Node unrealNode, SceneBuilder builder, Node parentUnrealNode, GameObject parentGameObject) { var nodeAsT = unrealNode as T; if (nodeAsT == null) { // FIXME: throw new System.Exception("Unexpected node type"); } var gameObject = CreateGameObject(builder, nodeAsT); if (null == gameObject) { return; } foreach (var childNode in unrealNode.Children) { var converter = builder.FindConverterForUnrealNode(childNode); converter?.Convert(childNode, builder, unrealNode, gameObject); } }
protected virtual GameObject CreateGameObject(SceneBuilder builder, T unrealNode) { return(new GameObject(unrealNode.Name)); }
public static void OutputFromMap(T3D.Map.Map map, string sceneDestination) { var converter = new SceneBuilder(map); converter.OutputScene(sceneDestination); }
protected abstract void CreateComponent(SceneBuilder builder, T unrealNode, Node parentUnrealNode, GameObject parentGameObject);