私は戦略的なゲームを作っており、学んだことを応用し、不変のデータを使用しようとしています。私のゲームにはユニットがあり、これらのユニットは異なる特別な機能を持つことができます。たとえば、一部の飛行機は自分自身を隠すことができます。私が探しているのは、ある種のことができる方法です
abstract class Units {
val life:Int
}
trait Hidable { self: Units =>
val hided:Boolean
def hide:Units with Hidable= ....
}
コピーして貼り付ける必要はありません:
def hide = copy(hided=true)
Hidable を mixin するすべてのケース クラスで。