public static GameObject BuildNode(ref SceneNode node, Transform parent, GameObject obj) { if (node.GetType() == typeof(SceneNodeGeo)) { SceneNodeGeo nodeGeo = (SceneNodeGeo)Convert.ChangeType(node, typeof(SceneNodeGeo)); return(CreateObject(nodeGeo, parent)); } else if (node.GetType() == typeof(SceneNodeLight)) { SceneNodeLight nodeLight = (SceneNodeLight)Convert.ChangeType(node, typeof(SceneNodeLight)); GameObject _obj = CreateLight(nodeLight, parent); SceneLoader.SelectableLights.Add(_obj); return(_obj); } else if (node.GetType() == typeof(SceneNodeCam)) { SceneNodeCam nodeCam = (SceneNodeCam)Convert.ChangeType(node, typeof(SceneNodeCam)); // make the camera editable nodeCam.editable = true; return(CreateCamera(nodeCam, parent)); } else if (node.GetType() == typeof(SceneNode)) { return(CreateNode(node, parent)); } return(null); }
private int createSceneGraphIter(Transform parent, int idx) { GameObject obj = null; // = new GameObject( scnObjKtn.rawNodeList[idx].name ); SceneNode node = sceneDataHandler.NodeList[idx]; if (node.GetType() == typeof(SceneNodeGeo)) { SceneNodeGeo nodeGeo = (SceneNodeGeo)Convert.ChangeType(node, typeof(SceneNodeGeo)); obj = createObject(nodeGeo, parent); } else if (node.GetType() == typeof(SceneNodeLight)) { SceneNodeLight nodeLight = (SceneNodeLight)Convert.ChangeType(node, typeof(SceneNodeLight)); obj = createLight(nodeLight, parent); } else if (node.GetType() == typeof(SceneNodeCam)) { SceneNodeCam nodeCam = (SceneNodeCam)Convert.ChangeType(node, typeof(SceneNodeCam)); obj = createCamera(nodeCam, parent); // make the camera editable nodeCam.editable = true; } else if (node.GetType() == typeof(SceneNodeMocap)) { SceneNodeMocap nodeMocap = (SceneNodeMocap)Convert.ChangeType(node, typeof(SceneNodeMocap)); obj = createMocap(nodeMocap, parent); // HACK SceneObject scnObj = obj.AddComponent <SceneObject>(); scnObj.isMocapTrigger = true; } else { obj = createNode(node, parent); } // add scene object to editable if (node.editable) { sceneEditableObjects.Add(obj); } // recursive call int idxChild = idx; for (int k = 1; k <= node.childCount; k++) { idxChild = createSceneGraphIter(obj.transform, idxChild + 1); } return(idxChild); }
public static GameObject BuildNode(ref SceneNode node, Transform parent, GameObject obj) { if (node.GetType() == typeof(SceneNodeMocap)) { SceneNodeMocap nodeMocap = (SceneNodeMocap)Convert.ChangeType(node, typeof(SceneNodeMocap)); return(createMocap(nodeMocap, parent)); } return(null); }
public static GameObject BuildNode(ref SceneNode node, Transform parent, GameObject obj, bool resetID, ref List <Tuple <Renderer, string, string[]> > skinnedMeshRootBones) { if (resetID) { idCount = 0; } if (node.GetType() == typeof(SceneNodeGeo)) { SceneNodeGeo nodeGeo = (SceneNodeGeo)Convert.ChangeType(node, typeof(SceneNodeGeo)); return(CreateObject(nodeGeo, parent)); } else if (node.GetType() == typeof(SceneNodeSkinnedGeo)) { SceneNodeSkinnedGeo nodeSkinnedGeo = (SceneNodeSkinnedGeo)Convert.ChangeType(node, typeof(SceneNodeSkinnedGeo)); return(CreateSkinnedObject(nodeSkinnedGeo, parent, ref skinnedMeshRootBones)); } else if (node.GetType() == typeof(SceneNodeLight)) { SceneNodeLight nodeLight = (SceneNodeLight)Convert.ChangeType(node, typeof(SceneNodeLight)); GameObject _obj = CreateLight(nodeLight, parent); SceneLoader.SelectableLights.Add(_obj); return(_obj); } else if (node.GetType() == typeof(SceneNodeCam)) { SceneNodeCam nodeCam = (SceneNodeCam)Convert.ChangeType(node, typeof(SceneNodeCam)); // make the camera editable // nodeCam.editable = true; return(CreateCamera(nodeCam, parent)); } else if (node.GetType() == typeof(SceneNode)) { return(CreateNode(node, parent)); } return(null); }