private void Start() { startingGenerator = FindObjectOfType <TraversalGenerator>(); navMesh = new TraversalAStarNavigation(traversalHolder); selectedLine = traversalHolder.GetRandomLine(); }
public void StartUp() { health = GetComponent <Health>(); if (health == null) { Debug.LogError("Could not find Health component", this); } debugHolder = ScriptableObject.CreateInstance <PersonAIDebugHolder>(); levelGeneration = FindObjectOfType <LevelGeneration>(); animatorController = GetComponent <AnimationCommandController>(); traversalGraphHolder = FindObjectOfType <TraversalGraphHolder>(); traversalAStar = new TraversalAStarNavigation(traversalGraphHolder); personalTasks = ScriptableObject.CreateInstance <TaskListHolder>(); currentState = GoToState(startingState); FindCurrentRoom(); }
private void Start() { graphNavigation = new TraversalAStarNavigation(traversalGraphHolder); }
public static List <NavMeshMovementLine> GetLODPath(Vector3 playerPosition, Vector3 endPosition, RoomInformation startingRoom, RoomInformation arrivalRoom, TraversalAStarNavigation graphNavigation) { if (startingRoom == null || arrivalRoom == null) { return(null); } if (startingRoom.Equals(arrivalRoom)) { return(startingRoom.NavMeshNavigation.GetPathFromTo(playerPosition, endPosition)); } List <NavMeshMovementLine> path = new List <NavMeshMovementLine>(); List <NavMeshMovementLine> traversalMovementList = graphNavigation.GetPathFromTo( startingRoom.TraversalGenerator.MiddleVertex, arrivalRoom.TraversalGenerator.MiddleVertex); if (traversalMovementList.Count == 0) { return(null); } path.AddRange(startingRoom.NavMeshNavigation.GetPathFromTo(playerPosition, startingRoom.TraversalGenerator.MiddleVertex.Position)); path.AddRange(traversalMovementList); path.AddRange(arrivalRoom.NavMeshNavigation.GetPathFromTo(arrivalRoom.TraversalGenerator.MiddleVertex.Position, endPosition)); return(path); }