What happens if you start commenting out parts of entercell()?
I would start from the bottom (where already some stuff is commented out) and comment out ALL the four (4) shield code blocks. Does that fix it?
If not, then comment out the top stuff right after the GetComponent()… does that fix it?
etc.
That way you bisect what’s going on and start to get intel about why things are misbehaving.
If you comment out the entire function, well, you know that’s not the problem!
And as always, my standard “hm, this doesn’t work” approach is always to start liberally sprinkling Debug.Log() statements through your code to display information in realtime.
Doing this should help you answer these types of questions:
- is this code even running? which parts are running? how often does it run?
- what are the values of the variables involved? Are they initialized?
Knowing this information will help you reason about the behavior you are seeing.
You could also just display various important quantities in UI Text elements to watch them change as you playtest.
If you are running a mobile device you can also view the console output. Google for how on your particular mobile target.
Here’s an example of putting in a laser-focused Debug.Log() and how that can save you a TON of time wallowing around speculating what might be going wrong: