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

	// m_active
	[SchemaMember("CEnvBeam", "m_active")]
	public ref Int32 Active => ref Schema.GetRef<Int32>(this.Handle, "CEnvBeam", "m_active");

	// m_spriteTexture
	[SchemaMember("CEnvBeam", "m_spriteTexture")]
	public CStrongHandle<InfoForResourceTypeIMaterial2> SpriteTexture => Schema.GetDeclaredClass<CStrongHandle<InfoForResourceTypeIMaterial2>>(this.Handle, "CEnvBeam", "m_spriteTexture");

	// m_iszStartEntity
	[SchemaMember("CEnvBeam", "m_iszStartEntity")]
	public string StartEntity
	{
		get { return Schema.GetUtf8String(this.Handle, "CEnvBeam", "m_iszStartEntity"); }
		set { Schema.SetString(this.Handle, "CEnvBeam", "m_iszStartEntity", value); }
	}

	// m_iszEndEntity
	[SchemaMember("CEnvBeam", "m_iszEndEntity")]
	public new string EndEntity
	{
		get { return Schema.GetUtf8String(this.Handle, "CEnvBeam", "m_iszEndEntity"); }
		set { Schema.SetString(this.Handle, "CEnvBeam", "m_iszEndEntity", value); }
	}

	// m_life
	[SchemaMember("CEnvBeam", "m_life")]
	public ref float Life => ref Schema.GetRef<float>(this.Handle, "CEnvBeam", "m_life");

	// m_boltWidth
	[SchemaMember("CEnvBeam", "m_boltWidth")]
	public ref float BoltWidth => ref Schema.GetRef<float>(this.Handle, "CEnvBeam", "m_boltWidth");

	// m_noiseAmplitude
	[SchemaMember("CEnvBeam", "m_noiseAmplitude")]
	public ref float NoiseAmplitude => ref Schema.GetRef<float>(this.Handle, "CEnvBeam", "m_noiseAmplitude");

	// m_speed
	[SchemaMember("CEnvBeam", "m_speed")]
	public new ref Int32 Speed => ref Schema.GetRef<Int32>(this.Handle, "CEnvBeam", "m_speed");

	// m_restrike
	[SchemaMember("CEnvBeam", "m_restrike")]
	public ref float Restrike => ref Schema.GetRef<float>(this.Handle, "CEnvBeam", "m_restrike");

	// m_iszSpriteName
	[SchemaMember("CEnvBeam", "m_iszSpriteName")]
	public string SpriteName
	{
		get { return Schema.GetUtf8String(this.Handle, "CEnvBeam", "m_iszSpriteName"); }
		set { Schema.SetString(this.Handle, "CEnvBeam", "m_iszSpriteName", value); }
	}

	// m_frameStart
	[SchemaMember("CEnvBeam", "m_frameStart")]
	public ref Int32 FrameStart => ref Schema.GetRef<Int32>(this.Handle, "CEnvBeam", "m_frameStart");

	// m_vEndPointWorld
	[SchemaMember("CEnvBeam", "m_vEndPointWorld")]
	public Vector EndPointWorld => Schema.GetDeclaredClass<Vector>(this.Handle, "CEnvBeam", "m_vEndPointWorld");

	// m_vEndPointRelative
	[SchemaMember("CEnvBeam", "m_vEndPointRelative")]
	public Vector EndPointRelative => Schema.GetDeclaredClass<Vector>(this.Handle, "CEnvBeam", "m_vEndPointRelative");

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

	// m_TouchType
	[SchemaMember("CEnvBeam", "m_TouchType")]
	public ref Touch_t TouchType => ref Schema.GetRef<Touch_t>(this.Handle, "CEnvBeam", "m_TouchType");

	// m_iFilterName
	[SchemaMember("CEnvBeam", "m_iFilterName")]
	public string FilterName
	{
		get { return Schema.GetUtf8String(this.Handle, "CEnvBeam", "m_iFilterName"); }
		set { Schema.SetString(this.Handle, "CEnvBeam", "m_iFilterName", value); }
	}

	// m_hFilter
	[SchemaMember("CEnvBeam", "m_hFilter")]
	public CHandle<CBaseEntity> Filter => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CEnvBeam", "m_hFilter");

	// m_iszDecal
	[SchemaMember("CEnvBeam", "m_iszDecal")]
	public string Decal
	{
		get { return Schema.GetUtf8String(this.Handle, "CEnvBeam", "m_iszDecal"); }
		set { Schema.SetString(this.Handle, "CEnvBeam", "m_iszDecal", value); }
	}

	// m_OnTouchedByEntity
	[SchemaMember("CEnvBeam", "m_OnTouchedByEntity")]
	public CEntityIOOutput OnTouchedByEntity => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CEnvBeam", "m_OnTouchedByEntity");

}
