Example #1
0
 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;
     };
 }
Example #2
0
 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);
         }
     };
 }