コード例 #1
0
ファイル: IsoObject.cs プロジェクト: liuhuixin/TestCreating
        protected virtual void OnDrawGizmos()
        {
            if (showGrid && world)
            {
                Gizmos.color = gizmosColor;
                Vector3 p = Vector3.zero;

                for (int i = 0; i <= spanX; i++)
                {
                    p.x = i * world.cellSize;
                    p.z = 0;
                    Vector3 startPos = IsoUtil.IsoPosToLocalPos(p.x, p.y, p.z);
                    p.z = spanZ * world.cellSize;
                    Vector3 endPos = IsoUtil.IsoPosToLocalPos(p.x, p.y, p.z);
                    Gizmos.DrawLine(transform.TransformPoint(startPos), transform.TransformPoint(endPos));
                }

                for (int i = 0; i <= spanZ; i++)
                {
                    p.z = i * world.cellSize;
                    p.x = 0;
                    Vector3 startPos = IsoUtil.IsoPosToLocalPos(p.x, p.y, p.z);
                    p.x = spanX * world.cellSize;
                    Vector3 endPos = IsoUtil.IsoPosToLocalPos(p.x, p.y, p.z);
                    Gizmos.DrawLine(transform.TransformPoint(startPos), transform.TransformPoint(endPos));
                }
            }
        }
コード例 #2
0
ファイル: IsoWorld.cs プロジェクト: liuhuixin/TestCreating
        public Vector2 LocalPosToGridPos(float px, float py, float offsetX = 0, float offsetY = 0)
        {
            float xx = (px - transform.localPosition.x) - root.localPosition.x - offsetX;
            float yy = (py - transform.localPosition.y) - root.localPosition.y - offsetY;

            return(IsoUtil.LocalPosToIsoGrid(cellSize, xx, yy));
        }
コード例 #3
0
ファイル: IsoObject.cs プロジェクト: liuhuixin/TestCreating
        public virtual void UpdateScreenPos()
        {
            Vector2 ScPos = IsoUtil.IsoPosToLocalPos(m_pos3D.x, m_pos3D.y, m_pos3D.z);
            Vector3 pos   = transform.localPosition;

            pos.x = ScPos.x;
            pos.y = ScPos.y;
            transform.localPosition = pos;
            UpdateSpanPos();
        }