我正在制作一个战略游戏,我尝试应用我学到的东西,尝试使用不可变的数据。在我的游戏中我有单位,这些单位可以有不同的特殊功能。例如,某些飞机可以隐藏自己。我搜索的是一种能够做某种事情的方法
abstract class Units {
val life:Int
}
trait Hidable { self: Units =>
val hided:Boolean
def hide:Units with Hidable= ....
}
无需复制粘贴:
def hide = copy(hided=true)
在每个混合 Hidable 的案例类上。