Skip to content

Game.Prefabs.AudioGroupingMiscSetting

Assembly: Assembly-CSharp
Namespace: Game.Prefabs

Type: struct

Base: System.ValueType
Implements: Unity.Entities.IComponentData, Unity.Entities.IQueryTypeParameter

Summary:
Component data that holds miscellaneous audio grouping settings related to environmental events. Currently contains a single float field used to control the distance used when grouping or triggering audio for forest fire related sounds. This struct is intended to be attached to entities or used as a query parameter in Unity DOTS systems for Cities: Skylines 2 modding.


Fields

  • public float m_ForestFireDistance
    Distance (in game units) used for audio grouping/triggering for forest fire events. Higher values increase the radius at which forest-fire-related audio is grouped or considered relevant.

Properties

  • None. This type exposes only a public field and implements IComponentData/IQueryTypeParameter.

Constructors

  • public AudioGroupingMiscSetting()
    Default value constructor (implicit for structs). The default value for m_ForestFireDistance is 0f unless explicitly set.

Methods

  • None. This is a plain data component (POD) without behavior methods.

Usage Example

using Unity.Entities;
using Game.Prefabs;

// create and add the component to an entity
var setting = new AudioGroupingMiscSetting { m_ForestFireDistance = 75f };
EntityManager entityManager = World.DefaultGameObjectInjectionWorld.EntityManager;
Entity e = entityManager.CreateEntity();
entityManager.AddComponentData(e, setting);

// or use in a system query (IQueryTypeParameter support)
public partial class AudioGroupingSystem : SystemBase
{
    protected override void OnUpdate()
    {
        // example: read the value from a singleton-like entity
        Entities
            .WithAll<AudioGroupingMiscSetting>()
            .ForEach((in AudioGroupingMiscSetting audioSetting) =>
            {
                float radius = audioSetting.m_ForestFireDistance;
                // use radius to influence audio grouping logic...
            }).Schedule();
    }
}