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

	// m_PlayerDamager
	[SchemaMember("CDamageRecord", "m_PlayerDamager")]
	public CHandle<CCSPlayerPawn> PlayerDamager => Schema.GetDeclaredClass<CHandle<CCSPlayerPawn>>(this.Handle, "CDamageRecord", "m_PlayerDamager");

	// m_PlayerRecipient
	[SchemaMember("CDamageRecord", "m_PlayerRecipient")]
	public CHandle<CCSPlayerPawn> PlayerRecipient => Schema.GetDeclaredClass<CHandle<CCSPlayerPawn>>(this.Handle, "CDamageRecord", "m_PlayerRecipient");

	// m_hPlayerControllerDamager
	[SchemaMember("CDamageRecord", "m_hPlayerControllerDamager")]
	public CHandle<CCSPlayerController> PlayerControllerDamager => Schema.GetDeclaredClass<CHandle<CCSPlayerController>>(this.Handle, "CDamageRecord", "m_hPlayerControllerDamager");

	// m_hPlayerControllerRecipient
	[SchemaMember("CDamageRecord", "m_hPlayerControllerRecipient")]
	public CHandle<CCSPlayerController> PlayerControllerRecipient => Schema.GetDeclaredClass<CHandle<CCSPlayerController>>(this.Handle, "CDamageRecord", "m_hPlayerControllerRecipient");

	// m_szPlayerDamagerName
	[SchemaMember("CDamageRecord", "m_szPlayerDamagerName")]
	public string PlayerDamagerName
	{
		get { return Schema.GetUtf8String(this.Handle, "CDamageRecord", "m_szPlayerDamagerName"); }
		set { Schema.SetString(this.Handle, "CDamageRecord", "m_szPlayerDamagerName", value); }
	}

	// m_szPlayerRecipientName
	[SchemaMember("CDamageRecord", "m_szPlayerRecipientName")]
	public string PlayerRecipientName
	{
		get { return Schema.GetUtf8String(this.Handle, "CDamageRecord", "m_szPlayerRecipientName"); }
		set { Schema.SetString(this.Handle, "CDamageRecord", "m_szPlayerRecipientName", value); }
	}

	// m_DamagerXuid
	[SchemaMember("CDamageRecord", "m_DamagerXuid")]
	public ref UInt64 DamagerXuid => ref Schema.GetRef<UInt64>(this.Handle, "CDamageRecord", "m_DamagerXuid");

	// m_RecipientXuid
	[SchemaMember("CDamageRecord", "m_RecipientXuid")]
	public ref UInt64 RecipientXuid => ref Schema.GetRef<UInt64>(this.Handle, "CDamageRecord", "m_RecipientXuid");

	// m_iBulletsDamage
	[SchemaMember("CDamageRecord", "m_iBulletsDamage")]
	public ref Int32 BulletsDamage => ref Schema.GetRef<Int32>(this.Handle, "CDamageRecord", "m_iBulletsDamage");

	// m_iDamage
	[SchemaMember("CDamageRecord", "m_iDamage")]
	public ref Int32 Damage => ref Schema.GetRef<Int32>(this.Handle, "CDamageRecord", "m_iDamage");

	// m_iActualHealthRemoved
	[SchemaMember("CDamageRecord", "m_iActualHealthRemoved")]
	public ref Int32 ActualHealthRemoved => ref Schema.GetRef<Int32>(this.Handle, "CDamageRecord", "m_iActualHealthRemoved");

	// m_iNumHits
	[SchemaMember("CDamageRecord", "m_iNumHits")]
	public ref Int32 NumHits => ref Schema.GetRef<Int32>(this.Handle, "CDamageRecord", "m_iNumHits");

	// m_iLastBulletUpdate
	[SchemaMember("CDamageRecord", "m_iLastBulletUpdate")]
	public ref Int32 LastBulletUpdate => ref Schema.GetRef<Int32>(this.Handle, "CDamageRecord", "m_iLastBulletUpdate");

	// m_bIsOtherEnemy
	[SchemaMember("CDamageRecord", "m_bIsOtherEnemy")]
	public ref bool IsOtherEnemy => ref Schema.GetRef<bool>(this.Handle, "CDamageRecord", "m_bIsOtherEnemy");

	// m_killType
	[SchemaMember("CDamageRecord", "m_killType")]
	public ref EKillTypes_t KillType => ref Schema.GetRef<EKillTypes_t>(this.Handle, "CDamageRecord", "m_killType");

}
