인터페이스
1 2 3 4 5 6 | using System; public interface IHpProvider { event Action<float> ActionOnHpChanged; } | cs |
체력 시스템
1 2 3 4 5 6 7 8 9 10 11 | public class HealthSystem : Monobehaviour, IHpProvider { public float CurHp { get; private set; } public event Action<float> ActionOnHpChanged; public void Damage(float damage) { CurHp -= damage; ActionOnHpChanged?.Invoke(CurHp); } } | cs |
체력바
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | public class HealthBar : MonoBehaviour { private IHpProvider _hpProvider; public void Initialize(IHpProvider hpProvider) { _hpProvider = hpProvider; _hpProvider.ActionOnHpChanged += OnHpChanged; } private void OnDestroy() { if (_hpProvider != null) { _hpProvider.ActionOnHpChanged -= OnHpChanged; } } private void OnHpChanged(float curHp) { // 체력바 동기화 } } | cs |
시스템을 나눠주는데 요런식으로 사용하면 되는걸까?
+ 인터페이스랑 액션 네이밍 추천좀 ㅠㅠ
챗지피티가 네이밍을 기깔나게 잘해줌 계정 연동하는 거 어렵지도 않아 10초면 됨 한번 해보셈
간간히 쓰고있는데 다른 사람들은 어떻게 네이밍 하나 궁금해서...
아하 ㅇㅋㅇㅋ
사실 저것도 챗지피티 추천이었음 ㅎㅎ 처음엔 Listener추천해주길래 화났던것...
아하 그렇군! 나도 너무 맹신하지 말아야겠다! 사정도 모르고 괜히 모르는 소리 해서 오히려 내가 미안해!!
아니에요! 어쨌든 댓글고마운거에요!!
해당 댓글은 삭제되었습니다.
감사합니다. 별의별게 다 제공되는 C#인듯. 배워도 배워도 끝이 없는 넘나 어려운것... ㅠㅠ