// <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 CEnvCubemapFog : CBaseEntity
{
    public CEnvCubemapFog (IntPtr pointer) : base(pointer) {}

	// m_flEndDistance
	[SchemaMember("CEnvCubemapFog", "m_flEndDistance")]
	public ref float EndDistance => ref Schema.GetRef<float>(this.Handle, "CEnvCubemapFog", "m_flEndDistance");

	// m_flStartDistance
	[SchemaMember("CEnvCubemapFog", "m_flStartDistance")]
	public ref float StartDistance => ref Schema.GetRef<float>(this.Handle, "CEnvCubemapFog", "m_flStartDistance");

	// m_flFogFalloffExponent
	[SchemaMember("CEnvCubemapFog", "m_flFogFalloffExponent")]
	public ref float FogFalloffExponent => ref Schema.GetRef<float>(this.Handle, "CEnvCubemapFog", "m_flFogFalloffExponent");

	// m_bHeightFogEnabled
	[SchemaMember("CEnvCubemapFog", "m_bHeightFogEnabled")]
	public ref bool HeightFogEnabled => ref Schema.GetRef<bool>(this.Handle, "CEnvCubemapFog", "m_bHeightFogEnabled");

	// m_flFogHeightWidth
	[SchemaMember("CEnvCubemapFog", "m_flFogHeightWidth")]
	public ref float FogHeightWidth => ref Schema.GetRef<float>(this.Handle, "CEnvCubemapFog", "m_flFogHeightWidth");

	// m_flFogHeightEnd
	[SchemaMember("CEnvCubemapFog", "m_flFogHeightEnd")]
	public ref float FogHeightEnd => ref Schema.GetRef<float>(this.Handle, "CEnvCubemapFog", "m_flFogHeightEnd");

	// m_flFogHeightStart
	[SchemaMember("CEnvCubemapFog", "m_flFogHeightStart")]
	public ref float FogHeightStart => ref Schema.GetRef<float>(this.Handle, "CEnvCubemapFog", "m_flFogHeightStart");

	// m_flFogHeightExponent
	[SchemaMember("CEnvCubemapFog", "m_flFogHeightExponent")]
	public ref float FogHeightExponent => ref Schema.GetRef<float>(this.Handle, "CEnvCubemapFog", "m_flFogHeightExponent");

	// m_flLODBias
	[SchemaMember("CEnvCubemapFog", "m_flLODBias")]
	public ref float LODBias => ref Schema.GetRef<float>(this.Handle, "CEnvCubemapFog", "m_flLODBias");

	// m_bActive
	[SchemaMember("CEnvCubemapFog", "m_bActive")]
	public ref bool Active => ref Schema.GetRef<bool>(this.Handle, "CEnvCubemapFog", "m_bActive");

	// m_bStartDisabled
	[SchemaMember("CEnvCubemapFog", "m_bStartDisabled")]
	public ref bool StartDisabled => ref Schema.GetRef<bool>(this.Handle, "CEnvCubemapFog", "m_bStartDisabled");

	// m_flFogMaxOpacity
	[SchemaMember("CEnvCubemapFog", "m_flFogMaxOpacity")]
	public ref float FogMaxOpacity => ref Schema.GetRef<float>(this.Handle, "CEnvCubemapFog", "m_flFogMaxOpacity");

	// m_nCubemapSourceType
	[SchemaMember("CEnvCubemapFog", "m_nCubemapSourceType")]
	public ref Int32 CubemapSourceType => ref Schema.GetRef<Int32>(this.Handle, "CEnvCubemapFog", "m_nCubemapSourceType");

	// m_hSkyMaterial
	[SchemaMember("CEnvCubemapFog", "m_hSkyMaterial")]
	public CStrongHandle<InfoForResourceTypeIMaterial2> SkyMaterial => Schema.GetDeclaredClass<CStrongHandle<InfoForResourceTypeIMaterial2>>(this.Handle, "CEnvCubemapFog", "m_hSkyMaterial");

	// m_iszSkyEntity
	[SchemaMember("CEnvCubemapFog", "m_iszSkyEntity")]
	public string SkyEntity
	{
		get { return Schema.GetUtf8String(this.Handle, "CEnvCubemapFog", "m_iszSkyEntity"); }
		set { Schema.SetString(this.Handle, "CEnvCubemapFog", "m_iszSkyEntity", value); }
	}

	// m_hFogCubemapTexture
	[SchemaMember("CEnvCubemapFog", "m_hFogCubemapTexture")]
	public CStrongHandle<InfoForResourceTypeCTextureBase> FogCubemapTexture => Schema.GetDeclaredClass<CStrongHandle<InfoForResourceTypeCTextureBase>>(this.Handle, "CEnvCubemapFog", "m_hFogCubemapTexture");

	// m_bHasHeightFogEnd
	[SchemaMember("CEnvCubemapFog", "m_bHasHeightFogEnd")]
	public ref bool HasHeightFogEnd => ref Schema.GetRef<bool>(this.Handle, "CEnvCubemapFog", "m_bHasHeightFogEnd");

	// m_bFirstTime
	[SchemaMember("CEnvCubemapFog", "m_bFirstTime")]
	public ref bool FirstTime => ref Schema.GetRef<bool>(this.Handle, "CEnvCubemapFog", "m_bFirstTime");

}
