Default properties - noonmaru/psychics GitHub Wiki
AbilityConcept에서 기본적으로 제공하는 속성들입니다.
Default값이 아닌 다른 값을 할당하게 되면 config에 추가됩니다.
class MyAbilityConcept : AbilityConcept() {
init {
type = AbilityType.TOGGLE // 타입을 Toggle로 변경
displayName = "내능력"
levelRequirement = 10 // 필요 레벨 10
cooldownTicks = 100 // 재사용 대기시간 5초
cost = 10.0 // 마나소모 10초
castingTicks = 20 //시전시간 1초
}
}
class MyAbility : Ability<MyAbilityConcept>()
자동으로 구성된 psychic의 yaml파일
abilities:
myability:
ability: .myability
common:
display-name: 내능력
type: TOGGLE
level-requirement: 10
cooldown-ticks: 100
cost: 10.0
casting-ticks: 20
interruptible: false
supply-items: []
description: []
display-name: myfirstability
health-bonus: 0.0
health-regen-per-tick: 0.0
mana: 0.0
mana-regen-per-tick: 0.0
mana-color: BLUE
description: []
MyAbilityConcept 클래스를 선언 후 AbilityConcept를 상속하여 생성자에서 기본 속성들을 변경해주었습니다.
Ability의 제너릭 타입이 MyAbilityConcept로 변경하여 MyAbilityConcept에서 변경한 속성을 사용하도록합니다.
이렇게 제네릭 타입으로 레퍼런스를 정하는것은 객체지향 규약 위반이지만 AbilityConcept를 등록하는 보일러플레이트 코드를 제거하기 위해 이렇게 구현하였습니다.
기본 속성들은 yml파일의 common 섹션 하위에 위치하게됩니다.