示例#1
0
        /// <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);
        }