public override void Load(ValuesDictionary valuesDictionary, IdToEntityMap idToEntityMap) { m_subsystemGameInfo = base.Project.FindSubsystem <SubsystemGameInfo>(throwOnError: true); m_subsystemTime = base.Project.FindSubsystem <SubsystemTime>(throwOnError: true); m_subsystemAudio = base.Project.FindSubsystem <SubsystemAudio>(throwOnError: true); m_subsystemMetersBlockBehavior = base.Project.FindSubsystem <SubsystemMetersBlockBehavior>(throwOnError: true); m_subsystemWeather = base.Project.FindSubsystem <SubsystemWeather>(throwOnError: true); m_componentPlayer = base.Entity.FindComponent <ComponentPlayer>(throwOnError: true); m_pantingSound = m_subsystemAudio.CreateSound("Audio/HumanPanting"); m_pantingSound.IsLooped = true; Food = valuesDictionary.GetValue <float>("Food"); Stamina = valuesDictionary.GetValue <float>("Stamina"); Sleep = valuesDictionary.GetValue <float>("Sleep"); Temperature = valuesDictionary.GetValue <float>("Temperature"); Wetness = valuesDictionary.GetValue <float>("Wetness"); m_lastFood = Food; m_lastStamina = Stamina; m_lastSleep = Sleep; m_lastTemperature = Temperature; m_lastWetness = Wetness; m_environmentTemperature = Temperature; foreach (KeyValuePair <string, object> item in valuesDictionary.GetValue <ValuesDictionary>("Satiation")) { m_satiation[int.Parse(item.Key, CultureInfo.InvariantCulture)] = (float)item.Value; } m_componentPlayer.ComponentHealth.Attacked += delegate { m_lastAttackedTime = m_subsystemTime.GameTime; }; }
public override void Load(ValuesDictionary valuesDictionary) { SubsystemAudio = base.Project.FindSubsystem <SubsystemAudio>(throwOnError: true); m_fireSound = SubsystemAudio.CreateSound("Audio/Fire"); m_fireSound.IsLooped = true; m_fireSound.Volume = 0f; m_waterSound = SubsystemAudio.CreateSound("Audio/Water"); m_waterSound.IsLooped = true; m_waterSound.Volume = 0f; m_magmaSound = SubsystemAudio.CreateSound("Audio/Magma"); m_magmaSound.IsLooped = true; m_magmaSound.Volume = 0f; }
public override void Load(ValuesDictionary valuesDictionary) { base.Load(valuesDictionary); m_subsystemTerrain = base.Project.FindSubsystem <SubsystemTerrain>(throwOnError: true); m_subsystemParticles = base.Project.FindSubsystem <SubsystemParticles>(throwOnError: true); m_subsystemExplosions = base.Project.FindSubsystem <SubsystemExplosions>(throwOnError: true); m_subsystemFireBlockBehavior = base.Project.FindSubsystem <SubsystemFireBlockBehavior>(throwOnError: true); m_subsystemAudio = base.Project.FindSubsystem <SubsystemAudio>(throwOnError: true); m_fuseSound = m_subsystemAudio.CreateSound("Audio/Fuse"); m_fuseSound.IsLooped = true; foreach (ValuesDictionary value3 in valuesDictionary.GetValue <ValuesDictionary>("Explosives").Values) { Point3 value = value3.GetValue <Point3>("Point"); float value2 = value3.GetValue <float>("TimeToExplosion"); AddExplosive(value, value2); } }
public override void Load(ValuesDictionary valuesDictionary) { m_subsystemGameInfo = base.Project.FindSubsystem <SubsystemGameInfo>(throwOnError: true); SubsystemTerrain = base.Project.FindSubsystem <SubsystemTerrain>(throwOnError: true); m_subsystemBlocksScanner = base.Project.FindSubsystem <SubsystemBlocksScanner>(throwOnError: true); SubsystemSky = base.Project.FindSubsystem <SubsystemSky>(throwOnError: true); m_subsystemParticles = base.Project.FindSubsystem <SubsystemParticles>(throwOnError: true); SubsystemTime = base.Project.FindSubsystem <SubsystemTime>(throwOnError: true); m_subsystemAudio = base.Project.FindSubsystem <SubsystemAudio>(throwOnError: true); m_precipitationStartTime = valuesDictionary.GetValue <double>("WeatherStartTime"); m_precipitationEndTime = valuesDictionary.GetValue <double>("WeatherEndTime"); m_lightningIntensity = valuesDictionary.GetValue <float>("LightningIntensity"); m_rainSound = m_subsystemAudio.CreateSound("Audio/Rain"); m_rainSound.IsLooped = true; m_rainSound.Volume = 0f; RainSplashParticleSystem = new RainSplashParticleSystem(); m_subsystemParticles.AddParticleSystem(RainSplashParticleSystem); SnowSplashParticleSystem = new SnowSplashParticleSystem(); m_subsystemParticles.AddParticleSystem(SnowSplashParticleSystem); m_rainVolumeFactor = 0f; for (int i = -5; i <= 5; i++) { for (int j = -5; j <= 5; j++) { float distance = MathUtils.Sqrt(i * i + j * j); m_rainVolumeFactor += m_subsystemAudio.CalculateVolume(distance, 1.5f); } } m_subsystemBlocksScanner.ScanningChunkCompleted += delegate(TerrainChunk chunk) { if (m_subsystemGameInfo.WorldSettings.EnvironmentBehaviorMode == EnvironmentBehaviorMode.Living) { FreezeThawAndDepositSnow(chunk); } }; }