22、UI植物卡片逻辑完善
问题一:植物的生命值和最大生命值
解决:
因为最大生命值每个植物都不一样,所以需要写在PlantBase中去,并将最大生命值的方法设置成抽象方法,这样它的子类只需要继承并重写。

所以在SunFlower.cs和Zombie.cs中添加代码


问题二:将一些变量和官方变量一致
解决:



在卡片右下角显示所需阳光值


问题三:点击卡片后还可以继续点击,进而种植多个植物
解决:
问题在于当wantPlace为false时可以点击卡片,点击后赋值为true,然后种植后wantPlace又会变成false,所以没有真正种植前可以一直点击卡片。


可以看出来currCard是先处理后赋值,所以处理的是上一个卡片,当前的卡片没有影响,也就是说如果当前已经有卡片待种植,那么这个待种植的执行Dead函数,新点击的植物取代它,当然如果种植后,重新点击一个植物,也不会再执行一次Dead()函数,因为虽然要执行currCard.WantPlace=false,但是currCard表示的悬空plant是为null的。