익숙한 버튼이죠?
꺼져 있을 때 누르면 켜지고
켜져 있을 때 누르면 꺼지고
이런 버튼을 Toggle Button 이라고 합니다.
'켜는 버튼' / '끄튼 버튼' 따로가 아니고
하나로 똑딱똑딱 스위치처럼 on/off 둘 다 할 수 있는 아주 좋은 버튼입니다.
----------------------------------------------------------------
앞 예시에서는 PgUp/PgDn 키 2개로 '자동기원'을 on/off 했습니다.
마치 이런 느낌입니다.
이번에는 '자동기원'을 Hotkey 1개만 사용해서 저 위의 토글 버튼처럼 만들어 보려고 합니다.
이를 구현하기 위해서 필요한 것들을 생각해 보겠습니다.
1. 상태 저장
지금 '자동기원'이 'on' 상태인지, 'off' 상태인지를 알고 있어야 합니다.
변수(variable)라는 것에 상태(값)를 저장할 수 있습니다.
'on' 상태를 True
'off' 상태를 False
라고 하겠습니다.
그리고 이 상태는 잠깐 잠깐 필요한 것이 아니고 게임 내내 필요한 상태입니다.
그러므로 값이 없어지지 않는 global variable이라는 것에 저장할 필요가 있습니다.
2. 현재 상태에 따른 동작 구분
위에서 이야기한 상태라는 것.
그 상태가 무엇인지에 따라 해야 할 동작이 달라집니다.
상태 조건에 따라 다른 동작을 하게 하려면 If / else 구문을 활용할 수 있습니다.
이 2가지를 활용해 자동기원을 토글하도록 해보겠습니다.
[v1.1]
서로 다른 2개의 hotkey로 on/off 하지 않고
위와 같이 변수를 활용하여 1개의 hotkey로 토글하면 편리하기도 하고
다른 마법 hotkey를 지정할 여유가 늘어납니다.
그리고 isHealing 변수가 가지고 있는 상태를 다른 곳에서 활용할 수도 있습니다.
([v1.1] 만 설명하는 이유는 [v2.0]에서는 다른 방법을 사용하려고 합니다.)