If the scene doesn't have a GameObject with the same name as the character without physical representation, it should work correctly.
Here's an example: Let's say in your conversation that the conversation's Actor is "YOU" and the conversation's conversant is "Mysterious Girl".
If you were to run this exact code:
Code: Select all
DialogueManager.StartConversation (GV.stringCurrentFightLocation + intFightPhase.ToString());
it's equivalent to this:
Code: Select all
DialogueManager.StartConversation (GV.stringCurrentFightLocation + intFightPhase.ToString(), null, null);
which specifies that the actor transform is null and the conversant transform is null. The first null is for the actor, the second is for the conversant.
The Dialogue System always tries to associate a GameObject with each participant. Since the actor transform is null, it will look for a GameObject named "YOU". If it finds one, it will associate that GameObject as the conversation's actor ("YOU"). If it doesn't find a matching GameObject, the conversation's actor won't be associated with a GameObject.
Now take this code:
Code: Select all
DialogueManager.StartConversation (GV.stringCurrentFightLocation + intFightPhase.ToString(), girlname.transform);
which is equivalent to:
Code: Select all
DialogueManager.StartConversation (GV.stringCurrentFightLocation + intFightPhase.ToString(), girlname.transform, null);
That code specifies the girlname GameObject is associated with the conversation's actor ("YOU").
If girlname actually corresponds to "Mysterious Girl", you may want to do this instead:
Code: Select all
DialogueManager.StartConversation (GV.stringCurrentFightLocation + intFightPhase.ToString(), null, girlname.transform);
This specifies that the girlname GameObject is associated with the conversation's
conversant ("Mysterious Girl"). The conversation's actor is not associated with a GameObject (unless the Dialogue System happens to find a GameObject named "YOU").