public void Draw(int position) { float zValue; float xValue; switch (position) { case -1: zValue = grid.CalculateZ(grid_Y, CustomGrid.Direction.NONE); xValue = grid.CalculateX(grid_X, CustomGrid.Direction.UP); break; case 0: zValue = grid.CalculateZ(grid_Y, CustomGrid.Direction.NONE); xValue = grid.CalculateX(grid_X, CustomGrid.Direction.NONE); break; case 1: zValue = grid.CalculateZ(grid_Y, CustomGrid.Direction.NONE); xValue = grid.CalculateX(grid_X, CustomGrid.Direction.DOWN); break; default: Debug.LogError("RodView: Error wrong value sent"); return; } newPos = new Vector3(xValue, transform.position.y, zValue); lerp = true; }
//From (0,0) to (6,10) public void Draw(int _X, int _Y) { if (_X != myCurrentX || _Y != myCurrentY) { myCurrentX = _X; myCurrentY = _Y; rotSpeed = 35; currentRotSpeed = rotSpeed; myPos = transform.position; float zValue = grid.CalculateZ(_Y, CustomGrid.Direction.NONE); float xValue = grid.CalculateX(_X, CustomGrid.Direction.NONE); newPos = new Vector3(xValue, myPos.y, zValue); //transform.localPosition = newPos; //Rot Anim Cacl Vector3 movDir = myPos - newPos; Vector3 axis = Vector3.Cross(movDir, Vector3.up); transform.Rotate(axis, currentRotSpeed, Space.World); lerp = true; } }