반응형
- 모델
public class PlayerModel
{
private int _health;
public int Health
{
get { return _health; }
set { _health = value; }
}
}
- 뷰
public class PlayerView : MonoBehaviour
{
[SerializeField] private Text _healthText;
private PlayerViewModel _viewModel;
public void Bind(PlayerViewModel viewModel)
{
_viewModel = viewModel;
_viewModel.HealthChanged += UpdateHealthText;
}
private void UpdateHealthText(int health)
{
_healthText.text = "Health: " + health.ToString();
}
public void OnDamageButtonClicked()
{
_viewModel.DamagePlayer();
}
}
- 뷰 모델
public class PlayerViewModel
{
private PlayerModel _model;
public event Action<int> HealthChanged;
public PlayerViewModel()
{
_model = new PlayerModel();
}
public int Health
{
get { return _model.Health; }
set
{
_model.Health = value;
HealthChanged?.Invoke(value);
}
}
public void DamagePlayer()
{
Health--;
}
}
반응형
'개발 > C#' 카테고리의 다른 글
유니티 C# 블록 퍼즐 게임 간단 구현 Block Breaker (0) | 2023.06.07 |
---|---|
유니티 C# 랭킹 시스템 간단 구현 Unity Rankings (0) | 2023.06.07 |
유니티 C# 스태미너 효과 간단 구현 Stamina (0) | 2023.05.18 |
유니티 C# UI로 데미지 출력하기 간단 구현 Damage (0) | 2023.05.18 |
유니티 C# 랜덤 지형 생성하기 간단 구현 Perlin noise (0) | 2023.04.23 |
유니티 C# 안드로이드 빌드 후 리소스 텍스트 파일 접근 방법 (0) | 2023.04.23 |
유니티 C# 3D 캐릭터 이동, 점프 간단 구현 (0) | 2023.04.03 |
유니티 C# 두번 터치로 카메라 줌인 간단 구현 Camera Zoom in (0) | 2023.04.02 |
댓글