package me.msoucy.ptures.view

import me.msoucy.ptures.model.Creature
import me.msoucy.ptures.model.Skill
import me.msoucy.ptures.model.SkillChoice

abstract class SkillView(val skill : Skill) {
    abstract fun display()
    abstract fun displayEnumerated(idx : Int)
}

abstract class CreatureView(val playerId : Int, val creature: Creature) {

    abstract fun chooseSkill(possibleTargets : List<Creature>)

    abstract fun displayName()
    abstract fun displaySkills()
    abstract fun displayStatuses()
}

abstract class BattleView {
}

abstract class PlayerView(val playerId : Int) {
    abstract fun creatureViewFor(creature: Creature) : CreatureView
}