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

	// __m_pChainEntity
	[SchemaMember("CLightComponent", "__m_pChainEntity")]
	public CNetworkVarChainer __m_pChainEntity => Schema.GetDeclaredClass<CNetworkVarChainer>(this.Handle, "CLightComponent", "__m_pChainEntity");

	// m_Color
	[SchemaMember("CLightComponent", "m_Color")]
	public Color Color
	{
		get { return Schema.GetCustomMarshalledType<Color>(this.Handle, "CLightComponent", "m_Color"); }
		set { Schema.SetCustomMarshalledType<Color>(this.Handle, "CLightComponent", "m_Color", value); }
	}

	// m_SecondaryColor
	[SchemaMember("CLightComponent", "m_SecondaryColor")]
	public Color SecondaryColor
	{
		get { return Schema.GetCustomMarshalledType<Color>(this.Handle, "CLightComponent", "m_SecondaryColor"); }
		set { Schema.SetCustomMarshalledType<Color>(this.Handle, "CLightComponent", "m_SecondaryColor", value); }
	}

	// m_flBrightness
	[SchemaMember("CLightComponent", "m_flBrightness")]
	public ref float Brightness => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flBrightness");

	// m_flBrightnessScale
	[SchemaMember("CLightComponent", "m_flBrightnessScale")]
	public ref float BrightnessScale => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flBrightnessScale");

	// m_flBrightnessMult
	[SchemaMember("CLightComponent", "m_flBrightnessMult")]
	public ref float BrightnessMult => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flBrightnessMult");

	// m_flRange
	[SchemaMember("CLightComponent", "m_flRange")]
	public ref float Range => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flRange");

	// m_flFalloff
	[SchemaMember("CLightComponent", "m_flFalloff")]
	public ref float Falloff => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flFalloff");

	// m_flAttenuation0
	[SchemaMember("CLightComponent", "m_flAttenuation0")]
	public ref float Attenuation0 => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flAttenuation0");

	// m_flAttenuation1
	[SchemaMember("CLightComponent", "m_flAttenuation1")]
	public ref float Attenuation1 => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flAttenuation1");

	// m_flAttenuation2
	[SchemaMember("CLightComponent", "m_flAttenuation2")]
	public ref float Attenuation2 => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flAttenuation2");

	// m_flTheta
	[SchemaMember("CLightComponent", "m_flTheta")]
	public ref float Theta => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flTheta");

	// m_flPhi
	[SchemaMember("CLightComponent", "m_flPhi")]
	public ref float Phi => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flPhi");

	// m_hLightCookie
	[SchemaMember("CLightComponent", "m_hLightCookie")]
	public CStrongHandle<InfoForResourceTypeCTextureBase> LightCookie => Schema.GetDeclaredClass<CStrongHandle<InfoForResourceTypeCTextureBase>>(this.Handle, "CLightComponent", "m_hLightCookie");

	// m_nCascades
	[SchemaMember("CLightComponent", "m_nCascades")]
	public ref Int32 Cascades => ref Schema.GetRef<Int32>(this.Handle, "CLightComponent", "m_nCascades");

	// m_nCastShadows
	[SchemaMember("CLightComponent", "m_nCastShadows")]
	public ref Int32 CastShadows => ref Schema.GetRef<Int32>(this.Handle, "CLightComponent", "m_nCastShadows");

	// m_nShadowWidth
	[SchemaMember("CLightComponent", "m_nShadowWidth")]
	public ref Int32 ShadowWidth => ref Schema.GetRef<Int32>(this.Handle, "CLightComponent", "m_nShadowWidth");

	// m_nShadowHeight
	[SchemaMember("CLightComponent", "m_nShadowHeight")]
	public ref Int32 ShadowHeight => ref Schema.GetRef<Int32>(this.Handle, "CLightComponent", "m_nShadowHeight");

	// m_bRenderDiffuse
	[SchemaMember("CLightComponent", "m_bRenderDiffuse")]
	public ref bool RenderDiffuse => ref Schema.GetRef<bool>(this.Handle, "CLightComponent", "m_bRenderDiffuse");

	// m_nRenderSpecular
	[SchemaMember("CLightComponent", "m_nRenderSpecular")]
	public ref Int32 RenderSpecular => ref Schema.GetRef<Int32>(this.Handle, "CLightComponent", "m_nRenderSpecular");

	// m_bRenderTransmissive
	[SchemaMember("CLightComponent", "m_bRenderTransmissive")]
	public ref bool RenderTransmissive => ref Schema.GetRef<bool>(this.Handle, "CLightComponent", "m_bRenderTransmissive");

	// m_flOrthoLightWidth
	[SchemaMember("CLightComponent", "m_flOrthoLightWidth")]
	public ref float OrthoLightWidth => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flOrthoLightWidth");

	// m_flOrthoLightHeight
	[SchemaMember("CLightComponent", "m_flOrthoLightHeight")]
	public ref float OrthoLightHeight => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flOrthoLightHeight");

	// m_nStyle
	[SchemaMember("CLightComponent", "m_nStyle")]
	public ref Int32 Style => ref Schema.GetRef<Int32>(this.Handle, "CLightComponent", "m_nStyle");

	// m_Pattern
	[SchemaMember("CLightComponent", "m_Pattern")]
	public string Pattern
	{
		get { return Schema.GetUtf8String(this.Handle, "CLightComponent", "m_Pattern"); }
		set { Schema.SetString(this.Handle, "CLightComponent", "m_Pattern", value); }
	}

	// m_nCascadeRenderStaticObjects
	[SchemaMember("CLightComponent", "m_nCascadeRenderStaticObjects")]
	public ref Int32 CascadeRenderStaticObjects => ref Schema.GetRef<Int32>(this.Handle, "CLightComponent", "m_nCascadeRenderStaticObjects");

	// m_flShadowCascadeCrossFade
	[SchemaMember("CLightComponent", "m_flShadowCascadeCrossFade")]
	public ref float ShadowCascadeCrossFade => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flShadowCascadeCrossFade");

	// m_flShadowCascadeDistanceFade
	[SchemaMember("CLightComponent", "m_flShadowCascadeDistanceFade")]
	public ref float ShadowCascadeDistanceFade => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flShadowCascadeDistanceFade");

	// m_flShadowCascadeDistance0
	[SchemaMember("CLightComponent", "m_flShadowCascadeDistance0")]
	public ref float ShadowCascadeDistance0 => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flShadowCascadeDistance0");

	// m_flShadowCascadeDistance1
	[SchemaMember("CLightComponent", "m_flShadowCascadeDistance1")]
	public ref float ShadowCascadeDistance1 => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flShadowCascadeDistance1");

	// m_flShadowCascadeDistance2
	[SchemaMember("CLightComponent", "m_flShadowCascadeDistance2")]
	public ref float ShadowCascadeDistance2 => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flShadowCascadeDistance2");

	// m_flShadowCascadeDistance3
	[SchemaMember("CLightComponent", "m_flShadowCascadeDistance3")]
	public ref float ShadowCascadeDistance3 => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flShadowCascadeDistance3");

	// m_nShadowCascadeResolution0
	[SchemaMember("CLightComponent", "m_nShadowCascadeResolution0")]
	public ref Int32 ShadowCascadeResolution0 => ref Schema.GetRef<Int32>(this.Handle, "CLightComponent", "m_nShadowCascadeResolution0");

	// m_nShadowCascadeResolution1
	[SchemaMember("CLightComponent", "m_nShadowCascadeResolution1")]
	public ref Int32 ShadowCascadeResolution1 => ref Schema.GetRef<Int32>(this.Handle, "CLightComponent", "m_nShadowCascadeResolution1");

	// m_nShadowCascadeResolution2
	[SchemaMember("CLightComponent", "m_nShadowCascadeResolution2")]
	public ref Int32 ShadowCascadeResolution2 => ref Schema.GetRef<Int32>(this.Handle, "CLightComponent", "m_nShadowCascadeResolution2");

	// m_nShadowCascadeResolution3
	[SchemaMember("CLightComponent", "m_nShadowCascadeResolution3")]
	public ref Int32 ShadowCascadeResolution3 => ref Schema.GetRef<Int32>(this.Handle, "CLightComponent", "m_nShadowCascadeResolution3");

	// m_bUsesBakedShadowing
	[SchemaMember("CLightComponent", "m_bUsesBakedShadowing")]
	public ref bool UsesBakedShadowing => ref Schema.GetRef<bool>(this.Handle, "CLightComponent", "m_bUsesBakedShadowing");

	// m_nShadowPriority
	[SchemaMember("CLightComponent", "m_nShadowPriority")]
	public ref Int32 ShadowPriority => ref Schema.GetRef<Int32>(this.Handle, "CLightComponent", "m_nShadowPriority");

	// m_nBakedShadowIndex
	[SchemaMember("CLightComponent", "m_nBakedShadowIndex")]
	public ref Int32 BakedShadowIndex => ref Schema.GetRef<Int32>(this.Handle, "CLightComponent", "m_nBakedShadowIndex");

	// m_nLightPathUniqueId
	[SchemaMember("CLightComponent", "m_nLightPathUniqueId")]
	public ref Int32 LightPathUniqueId => ref Schema.GetRef<Int32>(this.Handle, "CLightComponent", "m_nLightPathUniqueId");

	// m_nLightMapUniqueId
	[SchemaMember("CLightComponent", "m_nLightMapUniqueId")]
	public ref Int32 LightMapUniqueId => ref Schema.GetRef<Int32>(this.Handle, "CLightComponent", "m_nLightMapUniqueId");

	// m_bRenderToCubemaps
	[SchemaMember("CLightComponent", "m_bRenderToCubemaps")]
	public ref bool RenderToCubemaps => ref Schema.GetRef<bool>(this.Handle, "CLightComponent", "m_bRenderToCubemaps");

	// m_bAllowSSTGeneration
	[SchemaMember("CLightComponent", "m_bAllowSSTGeneration")]
	public ref bool AllowSSTGeneration => ref Schema.GetRef<bool>(this.Handle, "CLightComponent", "m_bAllowSSTGeneration");

	// m_nDirectLight
	[SchemaMember("CLightComponent", "m_nDirectLight")]
	public ref Int32 DirectLight => ref Schema.GetRef<Int32>(this.Handle, "CLightComponent", "m_nDirectLight");

	// m_nIndirectLight
	[SchemaMember("CLightComponent", "m_nIndirectLight")]
	public ref Int32 IndirectLight => ref Schema.GetRef<Int32>(this.Handle, "CLightComponent", "m_nIndirectLight");

	// m_flFadeMinDist
	[SchemaMember("CLightComponent", "m_flFadeMinDist")]
	public ref float FadeMinDist => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flFadeMinDist");

	// m_flFadeMaxDist
	[SchemaMember("CLightComponent", "m_flFadeMaxDist")]
	public ref float FadeMaxDist => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flFadeMaxDist");

	// m_flShadowFadeMinDist
	[SchemaMember("CLightComponent", "m_flShadowFadeMinDist")]
	public ref float ShadowFadeMinDist => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flShadowFadeMinDist");

	// m_flShadowFadeMaxDist
	[SchemaMember("CLightComponent", "m_flShadowFadeMaxDist")]
	public ref float ShadowFadeMaxDist => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flShadowFadeMaxDist");

	// m_bEnabled
	[SchemaMember("CLightComponent", "m_bEnabled")]
	public ref bool Enabled => ref Schema.GetRef<bool>(this.Handle, "CLightComponent", "m_bEnabled");

	// m_bFlicker
	[SchemaMember("CLightComponent", "m_bFlicker")]
	public ref bool Flicker => ref Schema.GetRef<bool>(this.Handle, "CLightComponent", "m_bFlicker");

	// m_bPrecomputedFieldsValid
	[SchemaMember("CLightComponent", "m_bPrecomputedFieldsValid")]
	public ref bool PrecomputedFieldsValid => ref Schema.GetRef<bool>(this.Handle, "CLightComponent", "m_bPrecomputedFieldsValid");

	// m_vPrecomputedBoundsMins
	[SchemaMember("CLightComponent", "m_vPrecomputedBoundsMins")]
	public Vector PrecomputedBoundsMins => Schema.GetDeclaredClass<Vector>(this.Handle, "CLightComponent", "m_vPrecomputedBoundsMins");

	// m_vPrecomputedBoundsMaxs
	[SchemaMember("CLightComponent", "m_vPrecomputedBoundsMaxs")]
	public Vector PrecomputedBoundsMaxs => Schema.GetDeclaredClass<Vector>(this.Handle, "CLightComponent", "m_vPrecomputedBoundsMaxs");

	// m_vPrecomputedOBBOrigin
	[SchemaMember("CLightComponent", "m_vPrecomputedOBBOrigin")]
	public Vector PrecomputedOBBOrigin => Schema.GetDeclaredClass<Vector>(this.Handle, "CLightComponent", "m_vPrecomputedOBBOrigin");

	// m_vPrecomputedOBBAngles
	[SchemaMember("CLightComponent", "m_vPrecomputedOBBAngles")]
	public QAngle PrecomputedOBBAngles => Schema.GetDeclaredClass<QAngle>(this.Handle, "CLightComponent", "m_vPrecomputedOBBAngles");

	// m_vPrecomputedOBBExtent
	[SchemaMember("CLightComponent", "m_vPrecomputedOBBExtent")]
	public Vector PrecomputedOBBExtent => Schema.GetDeclaredClass<Vector>(this.Handle, "CLightComponent", "m_vPrecomputedOBBExtent");

	// m_flPrecomputedMaxRange
	[SchemaMember("CLightComponent", "m_flPrecomputedMaxRange")]
	public ref float PrecomputedMaxRange => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flPrecomputedMaxRange");

	// m_nFogLightingMode
	[SchemaMember("CLightComponent", "m_nFogLightingMode")]
	public ref Int32 FogLightingMode => ref Schema.GetRef<Int32>(this.Handle, "CLightComponent", "m_nFogLightingMode");

	// m_flFogContributionStength
	[SchemaMember("CLightComponent", "m_flFogContributionStength")]
	public ref float FogContributionStength => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flFogContributionStength");

	// m_flNearClipPlane
	[SchemaMember("CLightComponent", "m_flNearClipPlane")]
	public ref float NearClipPlane => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flNearClipPlane");

	// m_SkyColor
	[SchemaMember("CLightComponent", "m_SkyColor")]
	public Color SkyColor
	{
		get { return Schema.GetCustomMarshalledType<Color>(this.Handle, "CLightComponent", "m_SkyColor"); }
		set { Schema.SetCustomMarshalledType<Color>(this.Handle, "CLightComponent", "m_SkyColor", value); }
	}

	// m_flSkyIntensity
	[SchemaMember("CLightComponent", "m_flSkyIntensity")]
	public ref float SkyIntensity => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flSkyIntensity");

	// m_SkyAmbientBounce
	[SchemaMember("CLightComponent", "m_SkyAmbientBounce")]
	public Color SkyAmbientBounce
	{
		get { return Schema.GetCustomMarshalledType<Color>(this.Handle, "CLightComponent", "m_SkyAmbientBounce"); }
		set { Schema.SetCustomMarshalledType<Color>(this.Handle, "CLightComponent", "m_SkyAmbientBounce", value); }
	}

	// m_bUseSecondaryColor
	[SchemaMember("CLightComponent", "m_bUseSecondaryColor")]
	public ref bool UseSecondaryColor => ref Schema.GetRef<bool>(this.Handle, "CLightComponent", "m_bUseSecondaryColor");

	// m_bMixedShadows
	[SchemaMember("CLightComponent", "m_bMixedShadows")]
	public ref bool MixedShadows => ref Schema.GetRef<bool>(this.Handle, "CLightComponent", "m_bMixedShadows");

	// m_flLightStyleStartTime
	[SchemaMember("CLightComponent", "m_flLightStyleStartTime")]
	public ref float LightStyleStartTime => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flLightStyleStartTime");

	// m_flCapsuleLength
	[SchemaMember("CLightComponent", "m_flCapsuleLength")]
	public ref float CapsuleLength => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flCapsuleLength");

	// m_flMinRoughness
	[SchemaMember("CLightComponent", "m_flMinRoughness")]
	public ref float MinRoughness => ref Schema.GetRef<float>(this.Handle, "CLightComponent", "m_flMinRoughness");

	// m_bPvsModifyEntity
	[SchemaMember("CLightComponent", "m_bPvsModifyEntity")]
	public ref bool PvsModifyEntity => ref Schema.GetRef<bool>(this.Handle, "CLightComponent", "m_bPvsModifyEntity");

}
