public static GameObject instanciateFromPrefab(Transform p_parent, NavigationNode p_associatedNavigationNode, GameObject p_navigationNodeComponentPrefab) { GameObject l_instanciatedGameObject = GameObject.Instantiate(p_navigationNodeComponentPrefab); l_instanciatedGameObject.transform.SetParent(p_parent); l_instanciatedGameObject.transform.localPosition = p_associatedNavigationNode.LocalPosition; l_instanciatedGameObject.transform.localRotation = Quaternion.identity; NavigationNodeComponent l_navigationNodeComponent = l_instanciatedGameObject.GetComponent <NavigationNodeComponent>(); if (l_navigationNodeComponent) { l_navigationNodeComponent.AssociatedNavigationNode = p_associatedNavigationNode; p_associatedNavigationNode.GameInstanceID = new NavigationNodeGameWorldInstanceID() { ID = l_navigationNodeComponent.GetInstanceID() }; } return(l_instanciatedGameObject); }
private void Awake() { NavigationGraph = NavigationGraphAsset.InstanciateNavigationGraph(); NavigationGraphComponentContainer.UniqueNavigationGraphComponent = this; for (int i = 0; i < NavigationGraph.NavigationNodes.Count; i++) { NavigationNodeGameRepresentation[NavigationGraph.NavigationNodes[i]] = NavigationNodeComponent.instanciateFromPrefab(transform, NavigationGraph.NavigationNodes[i], NavigationNodeComponentPrefab); } NavigationEngine = NavigationEngine.alloc(); }