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 |