Unity的脚本外部赋值或者赋值有一个特点,类型需要是脚本的类,Unity没有专门给出类似于Code 脚本; 的类型,导致一个脚本需要对应的类型,一一对应,无法赋值其他的脚本,但是通常会出现需要一个脚本变量要储存多个脚本,如一个管理血量的脚本,他需要赋值士兵的本身主脚本,但是士兵可能会是很多种,这时如果想要通用一个管理血量的脚本,就需要管理血量的脚本能赋值不同的脚本,这该如何处理呢?
在其他也有类似的情况,如子弹碰到敌人时进行扣血,他需要获取脚本,但是这个脚本通常不会只有一种,会有不同类型的,所以也需要一个可以储存所有脚本的变量,脚本里写接口,只要获取到脚本,扣血就行,但是需要拿到脚本,GetCompent又需要给一个确切的脚本类型,该怎么办?
可以使用抽象类或接口来解决这个问题,编写扣血接口,而每个士兵的脚本就可以实现这个接口或抽象类,