-
Notifications
You must be signed in to change notification settings - Fork 21
액션바
Daybreak edited this page Oct 16, 2020
·
2 revisions
게임 진행 중, 액션바에는 능력 쿨타임, 지속 시간, 효과 잔여 시간 등 다양한 정보가 표시됩니다.
수많은 정보가 액션바에 표시되는데도, 서로 겹치지 않고 보기 좋게 보여질 수 있는 이유는 액션바 채널
기능 덕분입니다.
게임 진행 중, 참가자의 액션바는 아래와 같이 구성됩니다.
채널 1 메시지 | 채널 2 메시지 | 채널 3 메시지 | 채널 4 메시지...
각각의 채널은 메시지를 가지고 있으며, (채널이 비어있는 메시지를 출력 중인 경우, 액션바에 표시되지 않습니다.) 각각의 메시지는
수직선 기호 |
로 구분됩니다.
이제 액션바 채널을 이용하는 방법을 알아보겠습니다.
ActionbarChannel
을 만드는 방법은 두 가지가 있습니다.
가장 기본적인 생성 방법은 참가자 객체에서 직접 만드는 방법이며, 사용이 끝난 후에는 직접 등록 해제해야 합니다.
// participant는 Participant 타입의 참가자 객체
final ActionbarChannel channel = participant.actionbar().newChannel();
또 다른 방법은 능력 객체에서 채널을 만드는 방법인데, 이 경우에는 능력이 삭제될 때 채널이 함께 등록 해제됩니다.
// ability는 AbilityBase 타입의 능력 객체
final ActionbarChannel channel = ability.newActionbarChannel();
// 능력 내부에서 만드는 경우
final ActionbarChannel channel = this.newActionbarChannel();
이제 채널을 만들었으니, 메시지를 보여줍시다.
// channel은 ActionbarChannel 타입의 액션바 채널 객체
channel.update("Hello, World!");
// 일정 시간동안 보여주고 싶다면 (초 단위)
channel.update("안녕, 세상!", 5);
// 메시지를 없애고 싶다면
channel.update("");
// 또는
channel.update(null);
채널을 더 이상 사용할 필요가 없어졌다면, 등록을 해제해 액션바 메시지 생성에 채널을 포함하지 않도록 해주세요.
등록을 해제한 후에는 update 메소드를 호출하더라도 메시지가 액션바에 나타나지 않습니다.
channel.unregister();
if (channel.isValid()) {
// 등록 되어있음
}