Hi, as title says - I'm using a Unity UI prefab for my conversation menu. Working great except for a couple of things:
1) the option "mark options already used" doesn't have any effect on my text color. Is there something to enable from the Unity side of things? I am using a custom animation but it doesn't influence the text color, only its opacity.
2) Is there a way to keep the dialogue options assigned to the same button at all times?
Let's imagine I have 4 dialogue options. 1)East, 2)West, 3)North and 4)South. They are positioned as their names suggest on the screen.
If I select option 3) North, and then toggle it off, what happens right now is that South takes its place at the top of the screen. It becomes option 3, but I would like to keep it assigned to Button 4.
Is that possible in AC?
Comments
2) You can do this by creating multiple DialogList elements in your Menu Manager, one for each slot, and linking them to specific UI Buttons. Replace your DialogList with 4 new ones, and in each check Fixed options number? and set the Option to display from 1-4 respectively.
1) Try copying in or testing the default AC Conversation Menu, switching it's Source to Unity Ui Prefab. That should be set up to react to the colour change - assuming so, you should then be able to find the key difference between that prefab and your own.
2) It's not a bug, but I might have read you wrong. A Conversation menu's DialogList is mapped to the active conversation options - not the whole thing, disabled options included. "Option 1" will always be considered to be the first-available option.
I will consider adding some kind of option to use the "true" index instead, but in the meantime the quickest option is to hack the Conversation.cs script:
Line 248 is where the function "ConvertSlotToOption" begins, which is where the conversion from menu element index to active dialogue option index is made. If you enter in "return slot;" above all the other code inside it, you'll disable it - but bear in mind it will break the pre-existing conversation Menus, so only yours will work.
However, this method also needs to be able to account for options being disabled and enabled due to gameplay decisions - so e.g. the "Top" option is always going to be the first-available option, not necessarily index #1. If you were to have true indices instead, you would then have to ensure the Conversation's first option is always enabled.
Have a look at the template and see how it's done. I think this way is the most painless way of doing it - both ways are going to mean some degree of smart management (e.g. always have the fourth-available option to be the "leave" one), but I believe the way it's currently set up is the one with less hassle.
It should show the already-chosen option with a grey background, but that's because AC is affecting the Button component's 'Normal' colour, and the Buttons' Target graphic is the Image component. If you want to change the text colour, set the Target graphic to the Text component instead.