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