public static WeatherTypes GetBattleWeather(WeatherEnum WorldWeather)
        {
            switch (WorldWeather)
            {
            case WeatherEnum.Blizzard:
                return(WeatherTypes.Hailstorm);

            case WeatherEnum.Snow:
                return(WeatherTypes.Snow);

            case WeatherEnum.Clear:
                return(WeatherTypes.Clear);

            case WeatherEnum.Fog:
                return(WeatherTypes.Foggy);

            case WeatherEnum.Rain:
            case WeatherEnum.Thunderstorm:
                return(WeatherTypes.Rain);

            case WeatherEnum.Sandstorm:
                return(WeatherTypes.Sandstorm);

            case WeatherEnum.Sunny:
                return(WeatherTypes.Sunny);

            case WeatherEnum.Underwater:
                return(WeatherTypes.Underwater);

            default:
                return(WeatherTypes.Clear);
            }
        }
Exemple #2
0
    private void ConfigWeather(WeatherEnum weather, GameObject go)
    {
        if (root == null)
        {
            root = new GameObject("WeatherRoot");
            root.transform.position = Vector3.zero;
            root.layer = LayerMask.NameToLayer(LAYER_NAME);

            camera = new GameObject("Camera").AddComponent <Camera>();
            camera.transform.parent        = root.transform;
            camera.transform.localPosition = new Vector3(0, 0, -10);
            camera.cullingMask             = LayerMask.GetMask(new string[] { LAYER_NAME });
            camera.depth      = 2;
            camera.clearFlags = CameraClearFlags.Depth;
        }

        GameObject weatherGO = GameUtils.CreateGameObject(root.transform, go);

        weatherGO.transform.position += new Vector3(0, 10, 0);
        if (dic.ContainsKey(weather))
        {
            dic[weather] = weatherGO;
        }
        else
        {
            dic.Add(weather, weatherGO);
        }

        weatherGO.SetActive(true);
    }
Exemple #3
0
        private void Start()
        {
            var weatherList = new WeatherEnum[] { WeatherEnum.Thunder, WeatherEnum.Fire, WeatherEnum.Tornado, WeatherEnum.Icicle };

            for (int i = 0; i < Mathf.Min(weatherPrehabs.Count(), weatherList.Count()); i++)
            {
                weatherDictionary.Add(weatherList[i], weatherPrehabs[i]);
            }
        }
Exemple #4
0
    public void StopWeather(WeatherEnum weather)
    {
        GameObject go;

        dic.TryGetValue(weather, out go);
        if (go != null)
        {
            go.SetActive(false);
        }
    }
Exemple #5
0
    public PlayerState currentPlayerState = PlayerState.Alive;  // The variable.

    // Each enumerator has an int value that describes its position in the list.
    void DescribeWeather()
    {
        // The 0th element is the first one by default.
        WeatherEnum firstWeatherType = (WeatherEnum)0;

        // WeatherEnum lastWeatherType = (WeatherEnum)4;

        // This will print "Sunny".
        Debug.Log(firstWeatherType);
    }
Exemple #6
0
        private WeatherEnum AddWeatherPeriod(WeatherEnum weatherType)
        {
            WeatherPeriod weatherPeriod = WeatherPeriods.Find(period => period.WeatherType == weatherType);

            if (weatherPeriod != null)
            {
                weatherPeriod.AmountPeriods++;
            }
            else
            {
                WeatherPeriods.Add(new WeatherPeriod {
                    WeatherType = weatherType, AmountPeriods = 1
                });
            }

            return(weatherType);
        }
    public void ChangeWeather(List <string> commandArgs)
    {
        switch (commandArgs[0])
        {
        case "Sunny":
            this.weather = WeatherEnum.Sunny;
            break;

        case "Foggy":
            this.weather = WeatherEnum.Foggy;
            break;

        case "Rainy":
            this.weather = WeatherEnum.Rainy;
            break;
        }
    }
Exemple #8
0
        public void SetWeatherForXDays(int days, int nFractionalDigits)
        {
            double      maxPerimeter    = 0.0; //Maximum perimeter
            int         maxRainDay      = -1;  //Day of maximum rain
            WeatherEnum lastWeatherType = 0;   //Last weather type

            //Sort planets by distance to star in descending order
            Planets.Sort((planet1, planet2) => planet2.StarDistance.CompareTo(planet1.StarDistance));

            for (int day = 1; day <= days; day++)
            {
                Weather weather = GetWeather(day, ref maxPerimeter, ref maxRainDay, nFractionalDigits);
                WeatherList.Add(weather);

                if (weather.WeatherType != lastWeatherType)
                {
                    lastWeatherType = AddWeatherPeriod(weather.WeatherType); //Set new weather type as last weather type
                }
            }

            SetMaxRain(WeatherList, maxRainDay);
        }
Exemple #9
0
        public static int GetWeatherTypeFromWeather(WeatherEnum weather)
        {
            switch (weather)
            {
            case WeatherEnum.Clear:
                return(1);

            case WeatherEnum.Rain:
                return(2);

            case WeatherEnum.Snow:
                return(3);

            case WeatherEnum.Underwater:
                return(4);

            case WeatherEnum.Sunny:
                return(5);

            case WeatherEnum.Fog:
                return(6);

            case WeatherEnum.Sandstorm:
                return(7);

            case WeatherEnum.Ash:
                return(8);

            case WeatherEnum.Blizzard:
                return(9);

            case WeatherEnum.Thunderstorm:
                return(10);

            default:
                return(0);
            }
        }
Exemple #10
0
    public void StartWeather(WeatherEnum weather)
    {
        if (weather == WeatherEnum.Null)
        {
            StopAll();
            return;
        }
        GameObject go;

        dic.TryGetValue(weather, out go);
        if (go != null)
        {
            go.SetActive(true);
        }
        else
        {
            string path = FilePathTools.GetParticle(weather.ToString());
            AssetsManager.Instance.LoadAssetAsync <GameObject>(path, (res) =>
            {
                ConfigWeather(weather, res);
            });
        }
    }
        private void OnWeather(WeatherEnum weather)
        {
            switch (weather)
            {
            case WeatherEnum.Sunny:
                OnSunny();
                break;

            case WeatherEnum.Rainy:
                OnRainy();
                break;

            case WeatherEnum.Thunder:
                OnThunder();
                break;

            case WeatherEnum.Sonwy:
                OnSnowy();
                break;

            case WeatherEnum.None:
                break;
            }
        }
 public abstract bool CanTravel(WeatherEnum weather);
Exemple #13
0
 public override bool CanTravel(WeatherEnum weather)
 {
     return(weather == WeatherEnum.SUNNY ||
            weather == WeatherEnum.WINDY);
 }
Exemple #14
0
 public BaseWeather GetWeatherPrehabs(WeatherEnum weatherEnum)
 {
     return(weatherDictionary[weatherEnum]);
 }
        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);
        }