• 2 Posts
  • 44 Comments
Joined 2 years ago
cake
Cake day: July 16th, 2023

help-circle
  • So player has all these nodes that provide abilities. Each node has a signal that the ability is activated. This is correct. What you do after the signal was your question.

    The two options i described were:

    #1 don’t just connect to one omnibus function. Don’t connect them all to a _gave_ability() function. This is what it sounds like you are doing. Instead seperate into seperat smaller functions. Connect ability As signal to functionA(), and abilityB signal to functionB(). Then yiu are not checking all 19 cases everything a signal is called.

    #2 if you are using the omnibus function _give_ability(ability), set an input parameter for the signal saying which specific signal was emitted. This can be done by code or the inspector when connecting the signal.

    Then on _give_ability(ability) do:

    match ability: abilityA: Give ability


  • Without knowing your specific situation, it seems like each of you signals should not be connecting to one master “abilities” function to dole out the effects.

    Instead each signal should connect to its own function and that function is responsible for only its specif effect.

    ====== Another thought would be if you like your setup, change the if statement to a match/case. For many simple if checks the match is more optimized.








  • I play a lot of games with my 10yr old daughter. Here are some of what we liked:

    -Any lego game(there are sooo many and they often go on sale)

    -trine series, much more puzzley

    -sackboy a big adventure

    -brothers a tale of two sons

    -it takes two

    -portal 2

    -degrees of separation

    -putty pals

    -ibb and obb

    -toodee and topdee

    -bleep bloop

    -battle block theater

    -chariot

    -pikunuku

    We also loved going through the monkey island games. They are not mumtiplayer but they are slow point and click games that we bounced ideas off one another.












  • Reducing the size to 1 I don’t think is the “correct” solution.

    In the inspector for the containers look for the “mouse” tab. That determines how the mouse interacts with that control. By default it is on STOP. Meaning it blocks all inputs “behind” it in your scene. You probably should change it to pass or ignore.

    Imaging you have a complex ui with multiple layers of buttons. You only want the top one to register click events, so it would be on STOP. If you did IGNORE then the top button would not register click events, bit the buttons under it would. If you had on PASS the top button registers the click, but then passes on the click event to the buttons under it.

    Right now you still have a 1px dead zone.

    Hope that helps.