public Pathfinder(Node start, Node target, PathfindMaster.PathfindingJobComplete callback) { startPosition = start; endPosition = target; completeCallback = callback; gridBase = GridBase.GetInstance(); }
//AI pathing across the grid void MoveToTarget(Vector3 position) { //Determines the end (target) node. Node targetNode = GridBase.GetInstance().GetNodeFromVector3(position); Pathfinding.PathfindMaster.GetInstance().RequestPathfind(currNode, targetNode, PathfindCallback); }
void Start() { gridBase = GridBase.GetInstance(); manager = LevelManager.GetInstance(); ui = InterfaceManager.GetInstance(); PaintAll(); }
private void Start() { gridBase = GridBase.GetInstance(); // InitLevelObjects(); }
void MonitorPosition() { //This is the fast and dirty way. currNode = GridBase.GetInstance().GetNodeFromVector3(transform.position); }
void LoadLevelActual(LevelSaveable levelSaveable) { // Level Objects for (int i = 0; i < levelSaveable.saveLevelObjects_List.Count; i++) { SaveableLevelObject s_obj = levelSaveable.saveLevelObjects_List[i]; Node nodeToPlace = GridBase.GetInstance().grid[s_obj.posX, s_obj.posZ]; GameObject go = Instantiate( ResourceManager.GetInstance().GetObjBase(s_obj.obj_Id).objPrefab, nodeToPlace.vis.transform.position, Quaternion.Euler( s_obj.rotX, s_obj.rotY, s_obj.rotZ)) as GameObject; nodeToPlace.placedObj = go.GetComponent <Level_Object>(); nodeToPlace.placedObj.gridPosX = nodeToPlace.nodePosX; nodeToPlace.placedObj.gridPosZ = nodeToPlace.nodePosZ; nodeToPlace.placedObj.worldRotation = nodeToPlace.placedObj.transform.localEulerAngles; } // Stackale Objeects for (int i = 0; i < levelSaveable.saveStackableObjects_List.Count; i++) { SaveableLevelObject s_obj = levelSaveable.saveStackableObjects_List[i]; Node nodeToPlace = GridBase.GetInstance().grid[s_obj.posX, s_obj.posZ]; GameObject go = Instantiate( ResourceManager.GetInstance().GetStackedObjsBase(s_obj.obj_Id).objPrefab, nodeToPlace.vis.transform.position, Quaternion.Euler( s_obj.rotX, s_obj.rotY, s_obj.rotZ)) as GameObject; Level_Object stack_obj = go.GetComponent <Level_Object>(); stack_obj.gridPosX = nodeToPlace.nodePosX; stack_obj.gridPosZ = nodeToPlace.nodePosZ; nodeToPlace.stackedObjs.Add(stack_obj); } // Paint Tiles for (int i = 0; i < levelSaveable.saveNodeObjectsList.Count; i++) { Node node = GridBase.GetInstance().grid[levelSaveable.saveNodeObjectsList[i].posX, levelSaveable.saveNodeObjectsList[i].posZ]; node.vis.GetComponent <NodeObject>().UpdateNodeObject(node, levelSaveable.saveNodeObjectsList[i]); } // Walls for (int i = 0; i < levelSaveable.saveWallsList.Count; i++) { WallObjectSaveable s_wall = levelSaveable.saveWallsList[i]; Node nodeToPlace = GridBase.GetInstance().grid[s_wall.levelObject.posX, s_wall.levelObject.posZ]; GameObject go = Instantiate(ResourceManager.GetInstance().wallPrefab, nodeToPlace.vis.transform.position, Quaternion.identity) as GameObject; Level_Object lvlObj = go.GetComponent <Level_Object>(); lvlObj.gridPosX = nodeToPlace.nodePosX; lvlObj.gridPosZ = nodeToPlace.nodePosZ; Level_WallObj wall_Obj = go.GetComponent <Level_WallObj>(); wall_Obj.UpdateWall(s_wall.wallObject.direction); wall_Obj.UpdateCorners(s_wall.wallObject.corner_a, s_wall.wallObject.corner_b, s_wall.wallObject.corner_c); } }