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 섹션 하위에 위치하게됩니다.

⚠️ **GitHub.com Fallback** ⚠️