public class HealthModifier

{

ย  ย  public int Magnitude { get; set; }

ย  ย  public ModifierOperationType ModifierType { get; set; }

ย  ย  public object Source { get; set; }

ย  ย  public bool IsCriticalHit { get; set; }

ย  ย  public GameObject Instigator { get; set; }

}


// ๊ฐ์ฒด ์ดˆ๊ธฐ์ž ์‚ฌ์šฉ

var healthModifier = new HealthModifier

{

ย  ย  Magnitude = -finalDamage,

ย  ย  ModifierType = ModifierOperationType.Additive,

ย  ย  Source = rawDamage.GetSource(),

ย  ย  IsCriticalHit = rawDamage.GetIsCriticalHit(),

ย  ย  Instigator = rawDamage.GetInstigator()

};


---


์ด๋ ‡๊ฒŒ ํ•„๋“œ ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ฒŒํ„ฐ ์„ธํ„ฐ ์“ฐ๋ฉด ๊ฐ์ฒด ์ดˆ๊ธฐ์ž๋ฅผ ์“ธ ์ˆ˜ ์žˆ์Œ.


๊ทผ๋ฐ ๊ฒŒํ„ฐ ์„ธํ„ฐ๋กœ ์บก์Аํ™”ํ•˜๋ฉด


public class HealthModifier

{

ย  ย  private int magnitude;

ย  ย  private ModifierOperationType type;

ย  ย  private object source;

ย  ย  private bool isCriticalHit;

ย  ย  private GameObject instigator;


ย  ย  public void SetMagnitude(int value) { magnitude = value; }

ย  ย  public void SetModifierType(ModifierOperationType value) { type = value; }

ย  ย  public void SetSource(object value) { source = value; }

ย  ย  public void SetIsCriticalHit(bool value) { isCriticalHit = value; }

ย  ย  public void SetInstigator(GameObject value) { instigator = value; }

}


// ๊ฐ์ฒด ์ดˆ๊ธฐ์ž ์‚ฌ์šฉ ๋ถˆ๊ฐ€, ๋”ฐ๋ผ์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ดˆ๊ธฐํ™”

var healthModifier = new HealthModifier();

healthModifier.SetMagnitude(-finalDamage);

healthModifier.SetModifierType(ModifierOperationType.Additive);

healthModifier.SetSource(rawDamage.GetSource());

healthModifier.SetIsCriticalHit(rawDamage.GetIsCriticalHit());

healthModifier.SetInstigator(rawDamage.GetInstigator());

-


์ด๋ ‡๊ฒŒ ๋˜๋„ค


C#์ด ์ด๋Ÿฐ๊ฑฐ๋ณด๋ฉด ์ฐธ ์ธ๊ฐ„ ํŽธ์˜์ ์ธ ๊ธฐ๋Šฅ์ด ๋งŽ๋‹จ ์ƒ๊ฐ์ด ๋“ ๋‹ค.


๋‹ค๋งŒ ๋‚˜์˜ ๊ฒฝ์šฐ ๊ฒŒํ„ฐ ์„ธํ„ฐ๋Š” ๋ฉ”์„œ๋“œ ๋ฐฉ์‹์„ ์„ ํ˜ธํ•ด์„œ ๊ทธ๋Ÿฐ๊ฐ€ C#์˜ ํŽธํ•œ์ ์€ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์ด ํŽธํ•˜๋‹จ ๊ฑฐ ๋ง๊ณ ๋Š” ๋ชจ๋ฅด๊ฒ ๋‹ค