protected override void computeOne(GridElement gridElement, int value) { //UnityEngine.Debug.Log("move: try"); if (value != 1) { return; } //UnityEngine.Debug.Log("move: compute"); Debug.Log("move compute one"); GameObject temp = gridElement.getAbsoluteXZ(0, 5); GridElement goalPos = isGridElement(temp); goalPos = setGoal(goalPos); Debug.Log("Goalpos (" + goalPos.x + "," + goalPos.z + ")"); int x; int z; if (goalPos != null) { var move = Astar(gridElement, goalPos); x = move[0]; z = move[1]; Debug.Log("x: " + x); Debug.Log("z: " + z); } else { x = 0; z = 0; } // TODO A* for x,z GameObject gridElementObject = gridElement.getByXZ(x, z);//Względne if (gridElementObject != null && gridElementObject.GetComponent <GridElement>().unit == null) { GridElement oldGridElement = unitBase.transform.parent.gameObject.GetComponent <GridElement>(); unitBase.transform.SetParent(gridElementObject.transform); gridElementObject.GetComponent <GridElement>().unit = unitBase.gameObject; unitBase.transform.position = new Vector3(gridElementObject.transform.position.x, gridElementObject.transform.position.y - 0.5f, gridElementObject.transform.position.z); oldGridElement.unit = null; // TODO animation goes brrrrrr } else { //UnityEngine.Debug.Log("dupa"); } }