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

	// m_flFrameRate
	[SchemaMember("CBeam", "m_flFrameRate")]
	public ref float FrameRate => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_flFrameRate");

	// m_flHDRColorScale
	[SchemaMember("CBeam", "m_flHDRColorScale")]
	public ref float HDRColorScale => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_flHDRColorScale");

	// m_flFireTime
	[SchemaMember("CBeam", "m_flFireTime")]
	public ref float FireTime => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_flFireTime");

	// m_flDamage
	[SchemaMember("CBeam", "m_flDamage")]
	public ref float Damage => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_flDamage");

	// m_nNumBeamEnts
	[SchemaMember("CBeam", "m_nNumBeamEnts")]
	public ref byte NumBeamEnts => ref Schema.GetRef<byte>(this.Handle, "CBeam", "m_nNumBeamEnts");

	// m_hBaseMaterial
	[SchemaMember("CBeam", "m_hBaseMaterial")]
	public CStrongHandle<InfoForResourceTypeIMaterial2> BaseMaterial => Schema.GetDeclaredClass<CStrongHandle<InfoForResourceTypeIMaterial2>>(this.Handle, "CBeam", "m_hBaseMaterial");

	// m_nHaloIndex
	[SchemaMember("CBeam", "m_nHaloIndex")]
	public CStrongHandle<InfoForResourceTypeIMaterial2> HaloIndex => Schema.GetDeclaredClass<CStrongHandle<InfoForResourceTypeIMaterial2>>(this.Handle, "CBeam", "m_nHaloIndex");

	// m_nBeamType
	[SchemaMember("CBeam", "m_nBeamType")]
	public ref BeamType_t BeamType => ref Schema.GetRef<BeamType_t>(this.Handle, "CBeam", "m_nBeamType");

	// m_nBeamFlags
	[SchemaMember("CBeam", "m_nBeamFlags")]
	public ref UInt32 BeamFlags => ref Schema.GetRef<UInt32>(this.Handle, "CBeam", "m_nBeamFlags");

	// m_hAttachEntity
	[SchemaMember("CBeam", "m_hAttachEntity")]
	public Span<CHandle<CBaseEntity>> AttachEntity => Schema.GetFixedArray<CHandle<CBaseEntity>>(this.Handle, "CBeam", "m_hAttachEntity", 10);

	// m_nAttachIndex
	[SchemaMember("CBeam", "m_nAttachIndex")]
	public Span<AttachmentHandle_t> AttachIndex => Schema.GetFixedArray<AttachmentHandle_t>(this.Handle, "CBeam", "m_nAttachIndex", 10);

	// m_fWidth
	[SchemaMember("CBeam", "m_fWidth")]
	public ref float Width => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_fWidth");

	// m_fEndWidth
	[SchemaMember("CBeam", "m_fEndWidth")]
	public ref float EndWidth => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_fEndWidth");

	// m_fFadeLength
	[SchemaMember("CBeam", "m_fFadeLength")]
	public ref float FadeLength => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_fFadeLength");

	// m_fHaloScale
	[SchemaMember("CBeam", "m_fHaloScale")]
	public ref float HaloScale => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_fHaloScale");

	// m_fAmplitude
	[SchemaMember("CBeam", "m_fAmplitude")]
	public ref float Amplitude => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_fAmplitude");

	// m_fStartFrame
	[SchemaMember("CBeam", "m_fStartFrame")]
	public ref float StartFrame => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_fStartFrame");

	// m_fSpeed
	[SchemaMember("CBeam", "m_fSpeed")]
	public new ref float Speed => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_fSpeed");

	// m_flFrame
	[SchemaMember("CBeam", "m_flFrame")]
	public ref float Frame => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_flFrame");

	// m_nClipStyle
	[SchemaMember("CBeam", "m_nClipStyle")]
	public ref BeamClipStyle_t ClipStyle => ref Schema.GetRef<BeamClipStyle_t>(this.Handle, "CBeam", "m_nClipStyle");

	// m_bTurnedOff
	[SchemaMember("CBeam", "m_bTurnedOff")]
	public ref bool TurnedOff => ref Schema.GetRef<bool>(this.Handle, "CBeam", "m_bTurnedOff");

	// m_vecEndPos
	[SchemaMember("CBeam", "m_vecEndPos")]
	public Vector EndPos => Schema.GetDeclaredClass<Vector>(this.Handle, "CBeam", "m_vecEndPos");

	// m_hEndEntity
	[SchemaMember("CBeam", "m_hEndEntity")]
	public CHandle<CBaseEntity> EndEntity => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CBeam", "m_hEndEntity");

	// m_nDissolveType
	[SchemaMember("CBeam", "m_nDissolveType")]
	public ref Int32 DissolveType => ref Schema.GetRef<Int32>(this.Handle, "CBeam", "m_nDissolveType");

}
