// <auto-generated />
#nullable enable
#pragma warning disable CS1591

using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;

namespace CounterStrikeSharp.API.Core;

public partial class CEnvSoundscape : CBaseEntity
{
    public CEnvSoundscape (IntPtr pointer) : base(pointer) {}

	// m_OnPlay
	[SchemaMember("CEnvSoundscape", "m_OnPlay")]
	public CEntityIOOutput OnPlay => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CEnvSoundscape", "m_OnPlay");

	// m_flRadius
	[SchemaMember("CEnvSoundscape", "m_flRadius")]
	public ref float Radius => ref Schema.GetRef<float>(this.Handle, "CEnvSoundscape", "m_flRadius");

	// m_soundEventName
	[SchemaMember("CEnvSoundscape", "m_soundEventName")]
	public string SoundEventName
	{
		get { return Schema.GetUtf8String(this.Handle, "CEnvSoundscape", "m_soundEventName"); }
		set { Schema.SetString(this.Handle, "CEnvSoundscape", "m_soundEventName", value); }
	}

	// m_bOverrideWithEvent
	[SchemaMember("CEnvSoundscape", "m_bOverrideWithEvent")]
	public ref bool OverrideWithEvent => ref Schema.GetRef<bool>(this.Handle, "CEnvSoundscape", "m_bOverrideWithEvent");

	// m_soundscapeIndex
	[SchemaMember("CEnvSoundscape", "m_soundscapeIndex")]
	public ref Int32 SoundscapeIndex => ref Schema.GetRef<Int32>(this.Handle, "CEnvSoundscape", "m_soundscapeIndex");

	// m_soundscapeEntityListId
	[SchemaMember("CEnvSoundscape", "m_soundscapeEntityListId")]
	public ref Int32 SoundscapeEntityListId => ref Schema.GetRef<Int32>(this.Handle, "CEnvSoundscape", "m_soundscapeEntityListId");

	// m_positionNames
	[SchemaMember("CEnvSoundscape", "m_positionNames")]
	public Span<string> PositionNames => Schema.GetFixedArray<string>(this.Handle, "CEnvSoundscape", "m_positionNames", 8);

	// m_hProxySoundscape
	[SchemaMember("CEnvSoundscape", "m_hProxySoundscape")]
	public CHandle<CEnvSoundscape> ProxySoundscape => Schema.GetDeclaredClass<CHandle<CEnvSoundscape>>(this.Handle, "CEnvSoundscape", "m_hProxySoundscape");

	// m_bDisabled
	[SchemaMember("CEnvSoundscape", "m_bDisabled")]
	public ref bool Disabled => ref Schema.GetRef<bool>(this.Handle, "CEnvSoundscape", "m_bDisabled");

	// m_soundscapeName
	[SchemaMember("CEnvSoundscape", "m_soundscapeName")]
	public string SoundscapeName
	{
		get { return Schema.GetUtf8String(this.Handle, "CEnvSoundscape", "m_soundscapeName"); }
		set { Schema.SetString(this.Handle, "CEnvSoundscape", "m_soundscapeName", value); }
	}

	// m_soundEventHash
	[SchemaMember("CEnvSoundscape", "m_soundEventHash")]
	public ref UInt32 SoundEventHash => ref Schema.GetRef<UInt32>(this.Handle, "CEnvSoundscape", "m_soundEventHash");

}
