using System;
using System.Collections;
using System.Collections.Generic;
using UnityEditor.UI;
using UnityEngine;
public class Player : MonoBehaviour {
public int currentHP = 70; // 현재 체력
public const int maxHP = 100; // 체력 max
public string name; // 이름
public string guildName; // 길드 명
public int currentLevel = 1; // 현재 레벨
public int state = 0; // 플레이어의 현재 상태
private void Start() {
name = "용감한 용사";
guildName = "[유니티용병단]";
string fullName = guildName + "Level" + currentLevel.ToString() + " " + name;
switch (state) {
case 0:
Idle();
break;
case 1:
Move();
break;
case 2:
Attack();
break;
case 3:
Skill();
break;
case 4:
Damaged();
break;
case 5:
Die();
break;
default:
break;
}
}
private void Idle() {
Debug.Log("Idle");
}
private void Move() {
Debug.Log("Move");
}
private void Attack() {
Debug.Log("Attack");
}
private void Skill() {
Debug.Log("Skill");
}
private void Damaged() {
Debug.Log("Damaged");
}
private void Die() {
Debug.Log("Die");
}
}
직전 시간에 배운 if 문을 switch case 문으로도 바꿀 수 있습니다.
if 문은 보다 복잡한 조건문에 어울리고, switch case 문은 정형화된 값이 주어질 때 사용하면 좋습니다.
이를테면, state 변수와 같이 0, 1, 2, 3, 4, 5 와 같이 단순한 값들로 여러 개 주어졌을 때 유용합니다.
그에 비해 if 문은 한 가지 조건이 아니라 여러 조건으로 분기를 나눌 수도 있습니다.
if 문과 switch case 문이 정확히 동일하다고는 할 수 없습니다.
하지만 제가 작성한 switch case 문과 if 문은 동일하게 동작하긴 합니다.
switch case 문은 case 옆에 값을 넣고, 바로 아래에 실행할 코드를 추가합니다.
그리고 실행할 코드 블록이 끝나는 시점에 break; 로 switch case 문을 빠져나가도록 할 수 있습니다.
다음 시간에는 switch case 문을 빛나게 해줄 열거체 enum에 대해서 배워보도록 하겠습니다.
'SideProjects > [집필] 실전 유니티 C#' 카테고리의 다른 글
[실전 유니티 C#] 유니티 에셋스토어 (0) | 2022.05.01 |
---|---|
[실전 유니티 C#] 열거체 enum (0) | 2022.05.01 |
[실전 유니티 C#] if 와 else if 와 else (0) | 2022.05.01 |
[실전 유니티 C#] if 문으로 조건을 만들다 (0) | 2022.05.01 |
[실전 유니티 C#] 문자열 다루기 (0) | 2022.05.01 |