Dictionary
key,value를 이용하여 자료를 저장한다.
Dictionary를 이용하면 자료를 편하게 찾을수있다.
선언시 사용한 타입을 미리 정의하기 때문에 박싱언박싱이 이러나지않는다.
라는 장점이 존재한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public class DictionaryTest : MonoBehaviour
{
Dictionary<string, int> name = new Dictionary<string, int>();
void Start()
{
}
}
|
배열처럼 0,1,2로 값을 찾는게아닌 key값을 이용하여 찾을수있다.
아래예제는 Dictionary를 이용하여 게임에서 KeyMaster를만들어본 예제이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
public enum PlayerKey
{
Attack,
Healing,
UpperCut,
Skill,
Jump
}
public class PlayerKeyMaster : MonoBehaviour
{
public Dictionary<PlayerKey, KeyCode> keyMaster;
void Start()
{
keyMaster = new Dictionary<PlayerKey, KeyCode>
{
{PlayerKey.Healing, KeyCode.LeftShift},
{PlayerKey.UpperCut, KeyCode.UpArrow},
};
}
}
|
enum과 Dictionary를 이용하여 keyMater(PlayerKey.Attack);을 하면 KeyCode.X가 반환되게 만들었다.
이런식으로 게임에서 key값을 구현하게되면 나중에 공격을 x에서z로바꾸고싶을때 공격버튼을체크하는 모든곳에서
체크하지 않고 해당 Dictionary의 x를z로 바꾸어만 주면되는 편리함과 코드를볼때 어디가 공격을 체크하는곳인지를 이름으로만 확인할수있는 장점이 존재한다.
'Unity(C#)' 카테고리의 다른 글
Unity 오브젝트를 다른오브젝트 하위로 생성하기 (0) | 2020.05.04 |
---|---|
Unity(C#) int,double,float의 Null값 삽입하기 (0) | 2020.05.03 |
Unity(C#) 람다식 (0) | 2020.04.29 |
Uniyt(C#) 조건부 연산자 ?: (0) | 2020.04.29 |
Unity(C#) 접근한정자 (0) | 2020.04.24 |