/// <summary> /// 以这个方向为标准对齐 /// </summary> /// <param name="dir"></param> public bool AlignGrid(eDirection dir) { ChessContainer target = GetAround(dir); if (target != null) { Vector3 checkpos = Vector3.zero;; checkpos = new Vector3(0, BKTools.chess_container_size.y, 0) * transform.lossyScale.x; int reverse_dir = (int)dir; reverse_dir = (reverse_dir / 2) * 2 + (1 - reverse_dir % 2); checkpos = Quaternion.Euler(0, 0, BKTools.AngularByDirection((eDirection)reverse_dir)) * checkpos; transform.position = target.transform.position + checkpos; UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(UnityEditor.SceneManagement.EditorSceneManager.GetActiveScene()); return(true); } return(false); }