-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
Description
use the Try[part] instead of the
ddo-calc/subprojects/common/ddo-core/src/main/scala/io/truthencode/ddo/model/effect/Feature.scala
Line 163 in 853a6e7
| * Sets or maps the source text for the DisplayName. // TODO: use the Try[part] instead of the |
* @tparam E
* Entry ID / Enumeration used to qualify which part is being modified.
*/
trait PartModifier[V, E <: EnumEntry] extends Feature[V] with DisplayName {
self: UsingSearchPrefix =>
/**
* The current Seaerch-Fu is weak. Override this default function.
*/
override lazy val part: Try[EffectPart] =
EffectPart.tryFindByPattern(partToModify.entryName, Option(withPrefix))
override lazy val parameters: Seq[Try[EffectParameter]] = effectParameters.map(_.parameter)
// FIXME add UsingSearchPrefix to type constraint
override val withPrefix: String = s"$searchPrefix$nameSource"
protected[this] val partToModify: E
protected[this] def effectParameters: Seq[ParameterModifier[_]] = ???
/**
* Sets or maps the source text for the DisplayName. // TODO: use the Try[part] instead of the
* partToModify
*
* @return
* Source text.
*/
override protected def nameSource: String = partToModify.entryName
}
trait FeatModifier[T, E <: Feat] extends PartModifier[T, E] {
self: UsingSearchPrefix =>
}
/**
* A parameter that SHOULD be found in EffectParameter used for validation / stacking
* @tparam E
* Enum of the parameter type being used, such as A Bonus Type of 'Action Boost'
*/
trait ParameterModifier[E <: EnumEntry] {
lazy val parameter: Try[EffectParameter] =
EffectParameter.tryFindByPattern(parameterToModify.entryName, None)
protected[this] val parameterToModify: E
}
case class EffectFeature[T](
parameter: Try[EffectParameter],
override val part: Try[EffectPart],
override val source: SourceInfo,
override val categories: Seq[String],
override val value: T,
override val generalDescription: String,
effectDetail: DetailedEffect)
extends Feature[T] {
override def parameters: Seq[Try[EffectParameter]] = ???
}
4086695ce8083c05f43414d28b0b86c6cb60742b