Using LuaConditionWizard in a List

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
JoeHooijmaijers
Posts: 4
Joined: Fri May 13, 2022 2:55 am

Using LuaConditionWizard in a List

Post by JoeHooijmaijers »

I'm trying to use the [LuaConditionWizard] attribute on a string in a serialized class in a list.
For some reason this causes the wizard to edit the string in ALL classes in that list, as long as they are visible.
The only workaround for now is to edit the string using the conditionwizard, close the element in the list, click off the object, click back on the object, open the next element in the list and repeat.
Did I do something wrong to get this behaviour?
I made a quick gif of what happens, hope that helps
https://i.gyazo.com/c959e5d0601e7359b06 ... 91b0b5.mp4
User avatar
Tony Li
Posts: 22148
Joined: Thu Jul 18, 2013 1:27 pm

Re: Using LuaConditionWizard in a List

Post by Tony Li »

Hi,

That looks like a bug. I'll investigate and get back to you here.
User avatar
Tony Li
Posts: 22148
Joined: Thu Jul 18, 2013 1:27 pm

Re: Using LuaConditionWizard in a List

Post by Tony Li »

I'm having trouble reproducing the issue, although I can clearly see it in your gif.

Can you share the class/struct definitions for List Of Check Items?

Are you using any inspector add-ons such as Odin Inspector?

What version of Unity are you using?

Are you using the latest version of the Dialogue System? (2.2.27 as of this message.)
JoeHooijmaijers
Posts: 4
Joined: Fri May 13, 2022 2:55 am

Re: Using LuaConditionWizard in a List

Post by JoeHooijmaijers »

Hey Tony,

Thanks for the quick reply.
I'm not using any inspector addon. I'm working in Unity version 2020.3.30f1.
This is the ScriptableObject holding the serialized class

Code: Select all

public class SO_Checklist : ScriptableObject
{
    [SerializeField] private int CaseId;
    [TextArea(2,3)][SerializeField] private string ProtocolName;
    [TextArea(3, 10)][SerializeField] private string ProtocolDescription;
    [SerializeField] private List<SO_CheckItem> ListOfCheckItems; //This is where the LuaConditionWizard is used
    public List<SO_CheckItem> Checklist => ListOfCheckItems;
    [SerializeField] private float MaxAchievedGrade;
    private bool _isInitialized = false;
    //Some more stuff
    }
And this is the Serialized class

Code: Select all

[Serializable]
public class SO_CheckItem
{
    private int _id;
    [SerializeField] private string _name;
    [TextArea(3, 5)][SerializeField] private string _description;
    [LuaConditionsWizard][SerializeField] private string ConditionalString = ""; //This is where the problem occurs
    [SerializeField][VariablePopup] private string CompletionString;
    private string _completionString;
    public string EventString => _completionString;
    public bool Complete => _grading.Complete;
    public GradeData _grading;
    //Some more stuff
    }
    
I hope this information will help.
JoeHooijmaijers
Posts: 4
Joined: Fri May 13, 2022 2:55 am

Re: Using LuaConditionWizard in a List

Post by JoeHooijmaijers »

Oh, forgot to add, I'm currently using Dialogue System version 2.2.27
User avatar
Tony Li
Posts: 22148
Joined: Thu Jul 18, 2013 1:27 pm

Re: Using LuaConditionWizard in a List

Post by Tony Li »

Thanks for the info. I'm not able to reproduce that exact issue, but there's a known issue with the custom editor that is on the roadmap to be fixed in version 2.2.28.
JoeHooijmaijers
Posts: 4
Joined: Fri May 13, 2022 2:55 am

Re: Using LuaConditionWizard in a List

Post by JoeHooijmaijers »

Thank you again for the lightning fast reply. I hope the 2.2.28 release will fix the issue, and otherwiseI'll fiddle with some of my settings to see if the problem lies there or I'll simply change my class structure a bit to circumvent the problem entirely.
Keep up the good work!
Post Reply