122 lines
3.7 KiB
C#
Raw Permalink Normal View History

2025-09-19 14:56:58 +05:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace BulletHellTemplate
{
/// <summary>
2025-09-19 19:43:49 +05:00
/// Represents the base characterStatsComponent for a character.
2025-09-19 14:56:58 +05:00
/// </summary>
[System.Serializable]
public class CharacterStats
{
/// <summary>
/// The base health points of the character.
/// </summary>
public float baseHP;
/// <summary>
/// The base health regeneration rate per second.
/// </summary>
public float baseHPRegen;
/// <summary>
/// The base health leech percentage (health gained from damage dealt).
/// </summary>
public float baseHPLeech;
/// <summary>
/// The base Mana points of the character.
/// </summary>
public float baseMP;
/// <summary>
/// The base Mana regeneration rate per second.
/// </summary>
public float baseMPRegen;
/// <summary>
/// The base damage dealt by the character.
/// </summary>
public float baseDamage;
/// <summary>
/// The base attack speed of the character.
/// </summary>
public float baseAttackSpeed;
/// <summary>
/// The base cooldown reduction percentage.
/// </summary>
public float baseCooldownReduction;
/// <summary>
/// The base critical hit rate percentage.
/// </summary>
public float baseCriticalRate;
/// <summary>
/// The base critical damage multiplier.
/// </summary>
public float baseCriticalDamageMultiplier;
/// <summary>
/// The base defense points of the character.
/// </summary>
public float baseDefense;
/// <summary>
/// The base shield points of the character.
/// </summary>
public float baseShield;
/// <summary>
/// The base movement speed of the character.
/// </summary>
public float baseMoveSpeed;
// <summary>
/// The base range to collect drops.
/// </summary>
public float baseCollectRange;
// <summary>
/// Max Stats to Choice from;
/// </summary>
public float baseMaxStats;
// <summary>
/// Max Skills to Choice from.
/// </summary>
public float baseMaxSkills;
/// <summary>
/// Default constructor.
/// </summary>
public CharacterStats()
{
}
/// <summary>
2025-09-19 19:43:49 +05:00
/// Copy constructor that creates a new Singleton of CharacterStats with the same values as the provided characterStatsComponent.
2025-09-19 14:56:58 +05:00
/// </summary>
/// <param name="statsToCopy">The CharacterStats Singleton to copy values from.</param>
public CharacterStats(CharacterStats statsToCopy)
{
baseHP = statsToCopy.baseHP;
baseHPRegen = statsToCopy.baseHPRegen;
baseHPLeech = statsToCopy.baseHPLeech;
baseMP = statsToCopy.baseMP;
baseMPRegen = statsToCopy.baseMPRegen;
baseDamage = statsToCopy.baseDamage;
baseAttackSpeed = statsToCopy.baseAttackSpeed;
baseCooldownReduction = statsToCopy.baseCooldownReduction;
baseCriticalRate = statsToCopy.baseCriticalRate;
baseCriticalDamageMultiplier = statsToCopy.baseCriticalDamageMultiplier;
baseDefense = statsToCopy.baseDefense;
baseShield = statsToCopy.baseShield;
baseMoveSpeed = statsToCopy.baseMoveSpeed;
baseCollectRange = statsToCopy.baseCollectRange;
baseMaxStats = statsToCopy.baseMaxStats;
baseMaxSkills = statsToCopy.baseMaxSkills;
}
}
}