0ebcc066b7826af223ee87f84784646f66ddf378ab287418866be736d51da7e1341331de92e49448fe

이게 무슨말인가 이해가 안가서 챗지피티쟝에게 물어봤는데...이거 말한거 맞음?? 설마 뭔가 대단한게 더있는것인가?! 

이것만해도 어마무시하게 도움이 되긴하는데 글쓴이의 의도를 100%이해 못한것 같아서 질문함 



public interface IDamageable

{ void TakeDamage(int amount); } public class Enemy : MonoBehaviour, IDamageable { public void TakeDamage(int amount) { Debug.Log($"Enemy took {amount} damage!"); } } public class Player : MonoBehaviour, IDamageable { public void TakeDamage(int amount) { Debug.Log($"Player took {amount} damage!"); } } public class DamageManager : MonoBehaviour { public void ApplyDamage<T>(GameObject target, int damage) where T : class { if (target.TryGetComponent<T>(out var component)) { if (component is IDamageable damageable) { damageable.TakeDamage(damage); } else { Debug.Log($"Component found but does not implement IDamageable."); } } else { Debug.Log($"Target does not have a component of type {typeof(T).Name}."); } } } public class GameManager : MonoBehaviour { public DamageManager damageManager; void Start() { GameObject enemy = new GameObject("Enemy"); enemy.AddComponent<Enemy>(); GameObject player = new GameObject("Player"); player.AddComponent<Player>(); damageManager.ApplyDamage<Enemy>(enemy, 50); damageManager.ApplyDamage<Player>(player, 30); }

}


15