• 2D
  • Why can I pass 1 param but not 2 in my signal?

My signal is connected in the code using: _enemyBeige1.Connect("Shoot", this, "_on_Shoot");

Then I emit it via EmitSignal("Shoot", "Fire!");

This works fine except i want to pass 2 parameters through to _on_Shoot but I get Error calling method from signal Shoot.

I did remember to update the _on_Shoot method to take 2 parameters. I've done this before in previous projects so I know it is possible but I just can't make this work.

Also, what is the benefit of declaring the params/arguements when declaring the signal? [Signal] delegate void Shoot(string p1, string p2);

This was a classic example of PICNIC syndrome: Problem In Chair Not In Computer!

I had declared the Shoot method in 2 different places and the code was calling the one with a single arguement signature first because it was higher in the scene tree. (I think scene tree is the right phrase)