Simultaneous conversations with multiple NPCs and inactive UIs
Posted: Sun Jul 25, 2021 6:32 pm
Hello,
I'm trying to set up a few more complicated conversations. I have a conversation with 3 NPCs. It works fine if I want to use that conversation only once and mark the NPC that is in that conversation using Dialogue Actor component. But if I want to have that same conversation running twice at the same time with different NPCs it breaks and 3rd NPC joins both conversations. All I found was: PixelCrushers.DialogueSystem.CharacterInfo.RegisterActorTransform, but it seems to do the same thing as Dialogue Actor.
Is there a way to assign more NPCs do a dialogue than 2? Let Dialogue System look for random matching NPCs only if there are none specifically assigned.
I saw main actor and conversant being stored in ActiveConversationRecord but I couldn't yet find a way to use that information to insert my characters there.
Also, it seems that all canvases for dialogues are instantiated at the start of the game. Majority of my NPCs will have their canvas set with Dialogue Actor - Custom Subtitle Panel. So if it is not actively in a conversation and that canvas is still there instantiated, there might be some performance issues as NPC count in a scene increases. Is there an easy way to make those canvases appear only when that actor is in a conversation and destroy them otherwise?
Thank you
I'm trying to set up a few more complicated conversations. I have a conversation with 3 NPCs. It works fine if I want to use that conversation only once and mark the NPC that is in that conversation using Dialogue Actor component. But if I want to have that same conversation running twice at the same time with different NPCs it breaks and 3rd NPC joins both conversations. All I found was: PixelCrushers.DialogueSystem.CharacterInfo.RegisterActorTransform, but it seems to do the same thing as Dialogue Actor.
Is there a way to assign more NPCs do a dialogue than 2? Let Dialogue System look for random matching NPCs only if there are none specifically assigned.
I saw main actor and conversant being stored in ActiveConversationRecord but I couldn't yet find a way to use that information to insert my characters there.
Also, it seems that all canvases for dialogues are instantiated at the start of the game. Majority of my NPCs will have their canvas set with Dialogue Actor - Custom Subtitle Panel. So if it is not actively in a conversation and that canvas is still there instantiated, there might be some performance issues as NPC count in a scene increases. Is there an easy way to make those canvases appear only when that actor is in a conversation and destroy them otherwise?
Thank you