Beispiel #1
0
        public void FixBorders(EFixMode p_mode, bool p_isFixCenter, bool p_isFixXPositive, bool p_isFixXNegative, bool p_isFixZPositive, bool p_isFixZNegative)
        {
            float fade;

            switch (p_mode)
            {
            case EFixMode.AVERAGE: fade = 0.5f; break;

            case EFixMode.READ_FROM_CENTER: fade = 0.0f; break;

            case EFixMode.READ_FROM_BORDERS:
            default: fade = 1.0f; break;
            }
            if (p_isFixCenter)
            {
                if (Center != null && XPositve != null)
                {
                    TT_TerrainHelpers.FixBorders(Center, XPositve, TT_TerrainHelpers.EDirection.RIGHT, TT_TerrainHelpers.EDirection.LEFT, fade);
                }
                if (Center != null && XNegative != null)
                {
                    TT_TerrainHelpers.FixBorders(Center, XNegative, TT_TerrainHelpers.EDirection.LEFT, TT_TerrainHelpers.EDirection.RIGHT, fade);
                }
                if (Center != null && ZPositve != null)
                {
                    TT_TerrainHelpers.FixBorders(Center, ZPositve, TT_TerrainHelpers.EDirection.TOP, TT_TerrainHelpers.EDirection.BOTTOM, fade);
                }
                if (Center != null && ZNegative != null)
                {
                    TT_TerrainHelpers.FixBorders(Center, ZNegative, TT_TerrainHelpers.EDirection.BOTTOM, TT_TerrainHelpers.EDirection.TOP, fade);
                }
            }

            if (p_isFixXPositive)
            {
                if (XPositve != null && XPositiveZPositve != null)
                {
                    TT_TerrainHelpers.FixBorders(XPositve, XPositiveZPositve, TT_TerrainHelpers.EDirection.TOP, TT_TerrainHelpers.EDirection.BOTTOM, fade);
                }
                if (XPositve != null && XPositiveZNegative != null)
                {
                    TT_TerrainHelpers.FixBorders(XPositve, XPositiveZNegative, TT_TerrainHelpers.EDirection.BOTTOM, TT_TerrainHelpers.EDirection.TOP, fade);
                }
            }

            if (p_isFixXNegative)
            {
                if (XNegative != null && XNegativeZPositve != null)
                {
                    TT_TerrainHelpers.FixBorders(XNegative, XNegativeZPositve, TT_TerrainHelpers.EDirection.TOP, TT_TerrainHelpers.EDirection.BOTTOM, fade);
                }
                if (XNegative != null && XNegativeZNegative != null)
                {
                    TT_TerrainHelpers.FixBorders(XNegative, XNegativeZNegative, TT_TerrainHelpers.EDirection.BOTTOM, TT_TerrainHelpers.EDirection.TOP, fade);
                }
            }

            if (p_isFixZPositive)
            {
                if (ZPositve != null && XPositiveZPositve != null)
                {
                    TT_TerrainHelpers.FixBorders(ZPositve, XPositiveZPositve, TT_TerrainHelpers.EDirection.RIGHT, TT_TerrainHelpers.EDirection.LEFT, fade);
                }
                if (ZPositve != null && XNegativeZPositve != null)
                {
                    TT_TerrainHelpers.FixBorders(ZPositve, XNegativeZPositve, TT_TerrainHelpers.EDirection.LEFT, TT_TerrainHelpers.EDirection.RIGHT, fade);
                }
            }

            if (p_isFixZNegative)
            {
                if (ZNegative != null && XPositiveZNegative != null)
                {
                    TT_TerrainHelpers.FixBorders(ZNegative, XPositiveZNegative, TT_TerrainHelpers.EDirection.RIGHT, TT_TerrainHelpers.EDirection.LEFT, fade);
                }
                if (ZNegative != null && XNegativeZNegative != null)
                {
                    TT_TerrainHelpers.FixBorders(ZNegative, XNegativeZNegative, TT_TerrainHelpers.EDirection.LEFT, TT_TerrainHelpers.EDirection.RIGHT, fade);
                }
            }
        }
Beispiel #2
0
 public void FixAllBorders(EFixMode p_mode)
 {
     FixBorders(p_mode, true, true, true, true, true);
 }