public static ActiveTenant WithEnvironment(this ActiveTenant tenant, EnvironmentTypeEnum type)
 {
     tenant.Environment = type;
     return tenant;
 }
Ejemplo n.º 2
0
 public static ActiveTenant WithEnvironment(this ActiveTenant tenant, EnvironmentTypeEnum type)
 {
     tenant.Environment = type;
     return(tenant);
 }
Ejemplo n.º 3
0
        public static void SetRenderDistance(EnvironmentTypeEnum environmentType, WeatherEnum weather)
        {
            if (weather == WeatherEnum.Fog)
            {
                Effect.FogStart = -40;
                Effect.FogEnd   = 12;

                Camera.FarPlane = 15;
                goto endsub;
            }

            if (weather == WeatherEnum.Blizzard)
            {
                Effect.FogStart = -40;
                Effect.FogEnd   = 20;

                Camera.FarPlane = 24;
                goto endsub;
            }

            if (weather == WeatherEnum.Thunderstorm)
            {
                Effect.FogStart = -40;
                Effect.FogEnd   = 20;

                Camera.FarPlane = 24;
                goto endsub;
            }

            switch (environmentType)
            {
            case EnvironmentTypeEnum.Cave:
            case EnvironmentTypeEnum.Dark:
            case EnvironmentTypeEnum.Forest:
                switch (Core.GameOptions.RenderDistance)
                {
                case 0:
                    Effect.FogStart = -2;
                    Effect.FogEnd   = 19;

                    Camera.FarPlane = 20;
                    break;

                case 1:
                    Effect.FogStart = -2;
                    Effect.FogEnd   = 39;

                    Camera.FarPlane = 40;
                    break;

                case 2:
                    Effect.FogStart = -2;
                    Effect.FogEnd   = 59;

                    Camera.FarPlane = 60;
                    break;

                case 3:
                    Effect.FogStart = -5;
                    Effect.FogEnd   = 79;

                    Camera.FarPlane = 80;
                    break;

                case 4:
                    Effect.FogStart = -20;
                    Effect.FogEnd   = 99;

                    Camera.FarPlane = 100;
                    break;
                }
                break;

            case EnvironmentTypeEnum.Inside:
                switch (Core.GameOptions.RenderDistance)
                {
                case 0:
                    Effect.FogStart = 16;
                    Effect.FogEnd   = 19;

                    Camera.FarPlane = 20;
                    break;

                case 1:
                    Effect.FogStart = 36;
                    Effect.FogEnd   = 39;

                    Camera.FarPlane = 40;
                    break;

                case 2:
                    Effect.FogStart = 56;
                    Effect.FogEnd   = 59;

                    Camera.FarPlane = 60;
                    break;

                case 3:
                    Effect.FogStart = 76;
                    Effect.FogEnd   = 79;

                    Camera.FarPlane = 80;
                    break;

                case 4:
                    Effect.FogStart = 96;
                    Effect.FogEnd   = 99;

                    Camera.FarPlane = 100;
                    break;
                }
                break;

            case EnvironmentTypeEnum.Outside:
                //switch (World.World.GetTime)
                switch (DayTime.Night)
                {
                case DayTime.Night:
                    switch (Core.GameOptions.RenderDistance)
                    {
                    case 0:
                        Effect.FogStart = -2;
                        Effect.FogEnd   = 19;

                        Camera.FarPlane = 20;
                        break;

                    case 1:
                        Effect.FogStart = -2;
                        Effect.FogEnd   = 39;

                        Camera.FarPlane = 40;
                        break;

                    case 2:
                        Effect.FogStart = -2;
                        Effect.FogEnd   = 59;

                        Camera.FarPlane = 60;
                        break;

                    case 3:
                        Effect.FogStart = -5;
                        Effect.FogEnd   = 79;

                        Camera.FarPlane = 80;
                        break;

                    case 4:
                        Effect.FogStart = -20;
                        Effect.FogEnd   = 99;

                        Camera.FarPlane = 100;
                        break;
                    }
                    break;

                case DayTime.Morning:
                    switch (Core.GameOptions.RenderDistance)
                    {
                    case 0:
                        Screen.Effect.FogStart = 16;
                        Screen.Effect.FogEnd   = 19;

                        Screen.Camera.FarPlane = 20;
                        break;

                    case 1:
                        Screen.Effect.FogStart = 36;
                        Screen.Effect.FogEnd   = 39;

                        Screen.Camera.FarPlane = 40;
                        break;

                    case 2:
                        Screen.Effect.FogStart = 56;
                        Screen.Effect.FogEnd   = 59;

                        Screen.Camera.FarPlane = 60;
                        break;

                    case 3:
                        Screen.Effect.FogStart = 76;
                        Screen.Effect.FogEnd   = 79;

                        Screen.Camera.FarPlane = 80;
                        break;

                    case 4:
                        Screen.Effect.FogStart = 96;
                        Screen.Effect.FogEnd   = 99;

                        Screen.Camera.FarPlane = 100;
                        break;
                    }
                    break;

                case DayTime.Day:
                    switch (Core.GameOptions.RenderDistance)
                    {
                    case 0:
                        Screen.Effect.FogStart = 16;
                        Screen.Effect.FogEnd   = 19;

                        Screen.Camera.FarPlane = 20;
                        break;

                    case 1:
                        Screen.Effect.FogStart = 36;
                        Screen.Effect.FogEnd   = 39;

                        Screen.Camera.FarPlane = 40;
                        break;

                    case 2:
                        Screen.Effect.FogStart = 56;
                        Screen.Effect.FogEnd   = 59;

                        Screen.Camera.FarPlane = 60;
                        break;

                    case 3:
                        Screen.Effect.FogStart = 76;
                        Screen.Effect.FogEnd   = 79;

                        Screen.Camera.FarPlane = 80;
                        break;

                    case 4:
                        Screen.Effect.FogStart = 96;
                        Screen.Effect.FogEnd   = 99;

                        Screen.Camera.FarPlane = 100;
                        break;
                    }
                    break;

                case DayTime.Evening:
                    switch (Core.GameOptions.RenderDistance)
                    {
                    case 0:
                        Screen.Effect.FogStart = 0;
                        Screen.Effect.FogEnd   = 19;

                        Screen.Camera.FarPlane = 20;
                        break;

                    case 1:
                        Screen.Effect.FogStart = 0;
                        Screen.Effect.FogEnd   = 39;

                        Screen.Camera.FarPlane = 40;
                        break;

                    case 2:
                        Screen.Effect.FogStart = 0;
                        Screen.Effect.FogEnd   = 59;

                        Screen.Camera.FarPlane = 60;
                        break;

                    case 3:
                        Screen.Effect.FogStart = 0;
                        Screen.Effect.FogEnd   = 79;

                        Screen.Camera.FarPlane = 80;
                        break;

                    case 4:
                        Screen.Effect.FogStart = 0;
                        Screen.Effect.FogEnd   = 99;

                        Screen.Camera.FarPlane = 100;
                        break;
                    }
                    break;
                }
                break;

            case EnvironmentTypeEnum.Underwater:
                switch (Core.GameOptions.RenderDistance)
                {
                case 0:
                    Effect.FogStart = 0;
                    Effect.FogEnd   = 19;

                    Camera.FarPlane = 20;
                    break;

                case 1:
                    Effect.FogStart = 0;
                    Effect.FogEnd   = 39;

                    Camera.FarPlane = 40;
                    break;

                case 2:
                    Effect.FogStart = 0;
                    Effect.FogEnd   = 59;

                    Camera.FarPlane = 60;
                    break;

                case 3:
                    Effect.FogStart = 0;
                    Effect.FogEnd   = 79;

                    Camera.FarPlane = 80;
                    break;

                case 4:
                    Effect.FogStart = 0;
                    Effect.FogEnd   = 99;

                    Camera.FarPlane = 100;
                    break;
                }
                break;
            }

            if (Core.GameOptions.RenderDistance >= 5)
            {
                Effect.FogStart = 999;
                Effect.FogEnd   = 1000;

                Camera.FarPlane = 1000;
            }
endsub:

            Camera.CreateNewProjection(Camera.FOV);
        }