Many questions about selector, triggers and C
Posted: Sun Feb 17, 2019 3:33 pm
Hi !
First of all, I'm not really good with C, I didn't put myself to it in years because I love bolt and can't do anything without it since it came out. I'm also not a native english speaker. So please be patient with me haha.
Anyway.
Here are my questions/requests, in priority order.
1.
TL;DR: Can every usables have a component that automaticly enable/disable when selected/deselected.
[SOLVED]
2.
TL;DR: What is the code to listen to a message, and what is the code to send it?
[SOLVED]
3.
TL;DR: Is there a way to make dialogue system variables always equal to bolt system variables?
I did this bolt flowmachine to make equal every Lua variables to every Bolt variables, at the start and at the end of each conversation. Is this the intended way to make every Lua variables equal to every Bolt variables ? Is there a simpler method ? Cause I have 100+ variables, and will certainly have at least 1K once the game is finished. So it's quite tedious and I think that with 1000+ variables it will impact the framerate.
[ON HOLD]
4.
TL;DR: Could we get alphanumeric characters in emphasis settings?
[SOLVED]
5.
TL;DR: Can each layer mask have its own reticle texture and Default message?
[SOLVED in 19/03/19 update, many thanks]
old NB
First of all, I'm not really good with C, I didn't put myself to it in years because I love bolt and can't do anything without it since it came out. I'm also not a native english speaker. So please be patient with me haha.
Anyway.
Here are my questions/requests, in priority order.
1.
TL;DR: Can every usables have a component that automaticly enable/disable when selected/deselected.
Spoiler
In the Inspector "Selector (script)" there is custom events where we can manage what is done when an usable is "selected".
When an Usable is selected, does the selector send that specific gameobject a message?
If yes, which one and if no, could it ? Like it's done for the OnUse one but only for the selected state?
My idea would be to show a 3D ui over the usable being selected. To do so, I would need the usable to receive a signal so it knows that it has to enable the ui component, and disable it when deselected. But here it's the selector that get the custom events, and not the usable. Is there a way to switch things around?
When an Usable is selected, does the selector send that specific gameobject a message?
If yes, which one and if no, could it ? Like it's done for the OnUse one but only for the selected state?
My idea would be to show a 3D ui over the usable being selected. To do so, I would need the usable to receive a signal so it knows that it has to enable the ui component, and disable it when deselected. But here it's the selector that get the custom events, and not the usable. Is there a way to switch things around?
Spoiler
A patch adds 3 inspector events to Usable: OnSelect(), OnDeselect(), and OnUse().
TL;DR: What is the code to listen to a message, and what is the code to send it?
Spoiler
How can I make it so the OnUse sent to the gameobject, does something completely different than start a dialogue?
In the Dialogue System Trigger script, we can chose Trigger as "On Use" but inside the script there is "On Use" absolutely nowhere (I ctrl+f many times to make sure haha). So what is the magic behind this ?
So in short, what is the code to listen to the "message" sent to the gameobject ? I just can't find it. I think it's a very basic unity/C thing, but hey, sometimes your path is blocked by little things.
If I find it, I then can start a bolt event instead of a Dialogue system one, and everybody is happy because I can control things again haha. I already read the bolt support manual, but there is nothing about starting an event outside a dialogue.
In the Dialogue System Trigger script, we can chose Trigger as "On Use" but inside the script there is "On Use" absolutely nowhere (I ctrl+f many times to make sure haha). So what is the magic behind this ?
So in short, what is the code to listen to the "message" sent to the gameobject ? I just can't find it. I think it's a very basic unity/C thing, but hey, sometimes your path is blocked by little things.
If I find it, I then can start a bolt event instead of a Dialogue system one, and everybody is happy because I can control things again haha. I already read the bolt support manual, but there is nothing about starting an event outside a dialogue.
Spoiler
The Usable patch really solves everything about action on usable, I love it!
TL;DR: Is there a way to make dialogue system variables always equal to bolt system variables?
Spoiler
I did this bolt flowmachine to make equal every Lua variables to every Bolt variables, at the start and at the end of each conversation. Is this the intended way to make every Lua variables equal to every Bolt variables ? Is there a simpler method ? Cause I have 100+ variables, and will certainly have at least 1K once the game is finished. So it's quite tedious and I think that with 1000+ variables it will impact the framerate.
Spoiler
I have to try the solution out!
TL;DR: Could we get alphanumeric characters in emphasis settings?
Spoiler
Emphasis text is great ! I used TMP styles before, but I converted. And now I quite regret it because of one thing : Emphasis is only style and color ! In TMP style I could put alphanumerics. For example, if I want a style to be something like a skill check at the end of a choice, I would want [] around the skill check, so in my style I would put those brackets, and if after that I wanter () instead of [] I could just change them in the style property. Is there a way to do what I say, maybe with something else than Emphasis but with the same idea (having a style saved somewhere). Don't tell me TMP, since I updated I can't make TMP pro work with the dialogue system anymore, but I don't regret it, only for the styles that allowed a little bit more freedom.
Spoiler
Answer: no. Text Mesh Pro do it best. Now I have to make TMP works haha.
TL;DR: Can each layer mask have its own reticle texture and Default message?
Spoiler
Reticle texture is a nice idea but if I want different reticle for different usable, is this possible ?
If I double or triple the selector script in the player gameobject, and put a different layer mask so each one have its own reticle texture, it should work (if I'm understand right) BUT it would also triple the amount of update event and impact the framerate so it's not a good idea I suppose.
Would it be possible to modify the script so that there is "In Range Layer Mask 1" "In Range Layer Mask 2", etc. ?
Like that I put many layer masks, but each layer has its own reticle texture.
Same goes for the Default Use Message, if I could have Default Use Message for each Layer mask that would make thing so much better. So I could make masks named "People", "Animals", "Doors", and there the possibilities are limitless.
Because if I use the object use message, It will be quite complicated once I want to change every message of the same type of object or even when I will have to localize the game.
If I double or triple the selector script in the player gameobject, and put a different layer mask so each one have its own reticle texture, it should work (if I'm understand right) BUT it would also triple the amount of update event and impact the framerate so it's not a good idea I suppose.
Would it be possible to modify the script so that there is "In Range Layer Mask 1" "In Range Layer Mask 2", etc. ?
Like that I put many layer masks, but each layer has its own reticle texture.
Same goes for the Default Use Message, if I could have Default Use Message for each Layer mask that would make thing so much better. So I could make masks named "People", "Animals", "Doors", and there the possibilities are limitless.
Because if I use the object use message, It will be quite complicated once I want to change every message of the same type of object or even when I will have to localize the game.
Spoiler
Added to the roadmap, amazing!
Spoiler
Even If I did my research, maybe some of my questions are very basic and/or already answered somewhere, don't hesitate to copypaste a link as an answer to one of them, it's all I'm asking for!
Because I don't work in C# I started doing my own selector in bolt.
It's a simple raycasting cursor, which set a scene variable equal to the game object the cursor is currently hovering.
But to be fair, I told myself "why doing 20 hours of work when the scripts are just here and you paid for them".
So if I can make everything work directly with the scripts, I'm all for it.
Also, I love the evolution of this asset! For example I love that node colors are now really custom, with a color picker and all ! I hated the old system where you had something like 8 colors (it becomes tedious very fast when you have 30+ characters).
Because I don't work in C# I started doing my own selector in bolt.
Spoiler
But to be fair, I told myself "why doing 20 hours of work when the scripts are just here and you paid for them".
So if I can make everything work directly with the scripts, I'm all for it.
Also, I love the evolution of this asset! For example I love that node colors are now really custom, with a color picker and all ! I hated the old system where you had something like 8 colors (it becomes tedious very fast when you have 30+ characters).