public override void OpenWeather(WeatherBean weatherData) { base.OpenWeather(weatherData); if (objWind_1) { objWind_1.SetActive(false); } if (objWind_2) { objWind_2.SetActive(false); } if (objDefoliation_1) { objDefoliation_1.SetActive(false); } switch (weatherData.weatherType) { case WeatherTypeEnum.Wind: SetWind(); break; case WeatherTypeEnum.Defoliation: SetDefoliation(); break; } GameConfigBean gameConfig = GameDataHandler.Instance.manager.GetGameConfig(); AudioHandler.Instance.PlayEnvironment(AudioEnvironmentEnum.Wind, gameConfig.environmentVolume); }
/// <summary> /// 随机化一个天气 /// </summary> public WeatherBean RandomWeather() { WeatherTypeEnum weatherStatusRandom = WeatherTypeEnum.Sunny; GameTimeHandler.Instance.GetTime(out int year, out int month, out int day); float weatherRate = UnityEngine.Random.Range(0f, 1f); if (weatherRate <= 0.5f) { weatherStatusRandom = WeatherTypeEnum.Sunny; } else if (weatherRate > 0.5f && weatherRate <= 0.8f) { weatherStatusRandom = WeatherTypeEnum.Cloudy; } else { List <WeatherTypeEnum> listWeather = WeatherTypeEnumTools.GetWeahterListByMonth(month); weatherStatusRandom = RandomUtil.GetRandomDataByList(listWeather); } WeatherBean weatherData = new WeatherBean(weatherStatusRandom); SetWeather(weatherData); return(weatherData); }
/// <summary> /// 设置天气数据 /// </summary> /// <param name="weatherData"></param> public void SetWeatherData(WeatherBean weatherData) { WeatherTypeEnum weatherType = weatherData.GetWeatherType(); SceneElementHandler.Instance.manager.SetRainActive(false); SceneElementHandler.Instance.manager.SetCloudAction(false); switch (weatherType) { case WeatherTypeEnum.Sunny: currentWeather = new WeatherSunny(weatherData); break; case WeatherTypeEnum.Cloudy: currentWeather = new WeatherCloudy(weatherData); break; case WeatherTypeEnum.Rain: currentWeather = new WeatherRain(weatherData); break; case WeatherTypeEnum.Snow: currentWeather = new WeatherSnow(weatherData); break; } }
public override void OpenWeather(WeatherBean weatherData) { base.OpenWeather(weatherData); InitPS(); if (objRain != null) { objRain.SetActive(true); } if (objThunder != null) { objThunder.SetActive(false); } switch (weatherData.weatherType) { case WeatherTypeEnum.LightRain: SetLightRain(); break; case WeatherTypeEnum.Rain: SetRain(); break; case WeatherTypeEnum.Thunderstorm: SetThunderstorm(); break; } GameConfigBean gameConfig = GameDataHandler.Instance.manager.GetGameConfig(); AudioHandler.Instance.PlayEnvironment(AudioEnvironmentEnum.Rain, gameConfig.environmentVolume); }
public override void InteractiveDetection(CharacterInteractiveCpt characterInt) { if (Input.GetButtonDown(InputInfo.Interactive_E)) { if (changeScene == ScenesEnum.GameSquareScene || changeScene == ScenesEnum.GameForestScene || changeScene == ScenesEnum.GameCourtyard) { ToastHandler.Instance.ToastHint("您被不可思议的力量阻挡了去路(暂未开放)"); } else { if (changeScene == ScenesEnum.GameMountainScene) { //如果山顶 特殊天气不能前往 WeatherBean weatherData = GameCommonInfo.CurrentDayData.weatherToday; if (weatherData != null && (weatherData.weatherType == WeatherTypeEnum.Cloudy || weatherData.weatherType == WeatherTypeEnum.Sunny)) { GameScenesHandler.Instance.ChangeScene(changeScene); } else { ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(1321)); } } else { GameScenesHandler.Instance.ChangeScene(changeScene); } } } }
/// <summary> /// 改变天气 /// </summary> /// <param name="weatherType">天气类型</param> /// <param name="timeMaxForWeather"></param> public void ChangeWeather(WeatherTypeEnum weatherType, float timeMaxForWeather) { WeatherBean weatherData = new WeatherBean(); weatherData.SetWeatherType(weatherType); weatherData.timeForWeather = timeMaxForWeather; weatherData.timeMaxForWeather = timeMaxForWeather; manager.SetWeatherData(weatherData); }
public override void OpenWeather(WeatherBean weatherData) { base.OpenWeather(weatherData); InitPS(); if (objFog != null) { objFog.SetActive(false); } switch (weatherData.weatherType) { case WeatherTypeEnum.Fog: SetFog(); break; } }
/// <summary> /// 设置天气 /// </summary> /// <param name="weatherStatus"></param> public void SetWeather(WeatherBean weatherData) { if (weatherData == null) { return; } manager.weatherData = weatherData; CloseWeather(); Color sunLightOffset = Color.black; switch (weatherData.weatherType) { case WeatherTypeEnum.Sunny: case WeatherTypeEnum.Cloudy: manager.weatherSunny.OpenWeather(weatherData); break; case WeatherTypeEnum.LightRain: case WeatherTypeEnum.Rain: case WeatherTypeEnum.Thunderstorm: manager.weatherRain.OpenWeather(weatherData); sunLightOffset = new Color(-0.2f, -0.2f, -0.2f, 1); break; case WeatherTypeEnum.Fog: manager.weatherFog.OpenWeather(weatherData); break; case WeatherTypeEnum.LightSnow: case WeatherTypeEnum.Snow: manager.weatherSnow.OpenWeather(weatherData); sunLightOffset = new Color(-0.1f, -0.1f, -0.1f, 1); break; case WeatherTypeEnum.Wind: case WeatherTypeEnum.Defoliation: manager.weatherWind.OpenWeather(weatherData); sunLightOffset = new Color(-0.1f, -0.1f, -0.1f, 1); break; } GameLightHandler.Instance.sunLight.SetOffsetColor(sunLightOffset); }
/// <summary> /// 初始化新的一天 /// </summary> public void InitNewDay() { //随机化一个天气 WeatherBean weatherData = null; GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); if (gameData.gameTime.month == 4 && gameData.gameTime.day == 1) { //冬月的第一天必定下大雪 weatherData = new WeatherBean(WeatherTypeEnum.Snow); GameWeatherHandler.Instance.SetWeather(weatherData); } else { weatherData = GameWeatherHandler.Instance.RandomWeather(); } GameCommonInfo.CurrentDayData.weatherToday = weatherData; }
public override void OpenWeather(WeatherBean weatherData) { base.OpenWeather(weatherData); if (objSnow != null) { objSnow.SetActive(true); } InitPS(); switch (weatherData.weatherType) { case WeatherTypeEnum.LightSnow: SetLightSnow(); break; case WeatherTypeEnum.Snow: SetSnow(); break; } }
public override void OpenWeather(WeatherBean weatherData) { base.OpenWeather(weatherData); InitPS(); if (objCloudy != null) { objCloudy.SetActive(false); } switch (weatherData.weatherType) { case WeatherTypeEnum.Sunny: SetSunny(); break; case WeatherTypeEnum.Cloudy: SetCloudy(); break; } }
public WeatherBase(WeatherBean weatherData) { this.weatherData = weatherData; }
public WeatherSnow(WeatherBean weatherData) : base(weatherData) { }
public WeatherRain(WeatherBean weatherData) : base(weatherData) { InitRain(); InitClouds(); }
public WeatherSunny(WeatherBean weatherData) : base(weatherData) { }
public WeatherCloudy(WeatherBean weatherData) : base(weatherData) { InitClouds(); }
public virtual void OpenWeather(WeatherBean weatherData) { this.weatherData = weatherData; gameObject.SetActive(true); }
public virtual void CloseWeather() { gameObject.SetActive(false); this.weatherData = null; }